diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 42782fa52..b2f3f6791 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,8 +4,7 @@ updates: - package-ecosystem: "pip" directory: "/" # Location of package manifests schedule: - interval: "weekly" - day: "tuesday" + interval: "monthly" ignore: - dependency-name: "aspen" - dependency-name: "botocore" diff --git a/js/10-base.js b/js/10-base.js index c1b84ccf0..2fab068ca 100644 --- a/js/10-base.js +++ b/js/10-base.js @@ -79,21 +79,24 @@ Liberapay.init = function() { $(this).children('input[type="radio"]').prop('checked', true).trigger('change'); }); - $('[data-toggle="enable"]').each(function() { - if (this.tagName == 'OPTION') { - var $option = $(this); - var $select = $option.parent(); - $select.on('change', function() { - var $target = $($option.data('target')); - $target.prop('disabled', !$option.prop('selected')); + $('[data-toggle="enable"], [data-toggle="disable"]').each(function() { + var enable = this.getAttribute('data-toggle') == 'enable'; + var $target = $(this.getAttribute('data-target')); + var $control = $(this); + (this.tagName == 'OPTION' ? $control.parent() : $control).on('change', function() { + var disable = enable ^ ($control.prop('checked') || $control.prop('selected')); + $target.prop('disabled', disable); + $target.find('input[type="checkbox"]').each(function() { + var $subelement = $(this); + if (disable) { + $subelement.data('was-checked', $subelement.prop('checked')); + $subelement.prop('checked', false); + } else { + $subelement.prop('checked', $subelement.data('was-checked')); + } + $subelement.prop('disabled', disable); }); - } else { - var $control = $(this); - $control.on('change', function() { - var $target = $($control.data('target')); - $target.prop('disabled', !$control.prop('checked')); - }); - } + }); }); $('[data-email]').one('mouseover click', function () { diff --git a/liberapay/main.py b/liberapay/main.py index 0fc06b268..c87b3c04a 100644 --- a/liberapay/main.py +++ b/liberapay/main.py @@ -336,12 +336,14 @@ def _Querystring_derive(self, **kw): new_qs[k] = v return '?' + urlencode(new_qs, doseq=True) aspen.http.request.Querystring.derive = _Querystring_derive +del _Querystring_derive if hasattr(aspen.http.request.Querystring, 'serialize'): raise Warning('aspen.http.request.Querystring.serialize() already exists') def _Querystring_serialize(self, **kw): return ('?' + urlencode(self, doseq=True)) if self else '' aspen.http.request.Querystring.serialize = _Querystring_serialize +del _Querystring_serialize pando.http.request.Headers.__init__ = pando.http.mapping.CaseInsensitiveMapping.__init__ @@ -364,6 +366,7 @@ def _cookies(self): self.__dict__['cookies'] = cookies return cookies pando.http.request.Request.cookies = property(_cookies) +del _cookies if hasattr(pando.http.request.Request, 'queued_success_messages'): raise Warning('pando.http.request.Request.queued_success_messages already exists') @@ -372,6 +375,7 @@ def _queued_success_messages(self): self._queued_success_messages = map(b64decode_s, self.qs.all('success')) return self._queued_success_messages pando.http.request.Request.queued_success_messages = property(_queued_success_messages) +del _queued_success_messages if hasattr(pando.http.request.Request, 'source'): raise Warning('pando.http.request.Request.source already exists') @@ -388,6 +392,7 @@ def _source(self): self.__dict__['source'] = ip_address(addr) return self.__dict__['source'] pando.http.request.Request.source = property(_source) +del _source if hasattr(pando.http.request.Request, 'find_input_name'): raise Warning('pando.http.request.Request.find_input_name already exists') @@ -397,6 +402,7 @@ def _find_input_name(self, value): if any(map(value.__eq__, values)): return k pando.http.request.Request.find_input_name = _find_input_name +del _find_input_name if hasattr(pando.Response, 'csp_allow'): raise Warning('pando.Response.csp_allow() already exists') @@ -411,6 +417,7 @@ def _find_input_name(self, value): def _encode_url(url): return maybe_encode(urlquote(url, string.punctuation)) pando.Response.encode_url = staticmethod(_encode_url) +del _encode_url if hasattr(pando.Response, 'error'): raise Warning('pando.Response.error() already exists') @@ -419,6 +426,7 @@ def _error(self, code, msg=''): self.body = msg return self pando.Response.error = _error +del _error if hasattr(pando.Response, 'invalid_input'): raise Warning('pando.Response.invalid_input() already exists') @@ -431,6 +439,7 @@ def _invalid_input(self, input_value, input_name, input_location, code=400, self.body = msg % (input_name, input_value, input_location) raise self pando.Response.invalid_input = _invalid_input +del _invalid_input if hasattr(pando.Response, 'success'): raise Warning('pando.Response.success() already exists') @@ -439,6 +448,7 @@ def _success(self, code=200, msg=''): self.body = msg raise self pando.Response.success = _success +del _success if hasattr(pando.Response, 'json'): raise Warning('pando.Response.json() already exists') @@ -448,6 +458,7 @@ def _json(self, obj, code=200): self.headers[b'Content-Type'] = b'application/json' raise self pando.Response.json = _json +del _json if hasattr(pando.Response, 'sanitize_untrusted_url'): raise Warning('pando.Response.sanitize_untrusted_url() already exists') @@ -460,6 +471,7 @@ def _sanitize_untrusted_url(response, url): # ^ this is safe because we don't accept requests with unknown hosts return response.website.canonical_scheme + '://' + host + url pando.Response.sanitize_untrusted_url = _sanitize_untrusted_url +del _sanitize_untrusted_url if hasattr(pando.Response, 'redirect'): raise Warning('pando.Response.redirect() already exists') @@ -470,6 +482,7 @@ def _redirect(response, url, code=302, trusted_url=True): response.headers[b'Location'] = response.encode_url(url) raise response pando.Response.redirect = _redirect +del _redirect if hasattr(pando.Response, 'refresh'): raise Warning('pando.Response.refresh() already exists') @@ -477,6 +490,7 @@ def _refresh(response, state, **extra): # https://en.wikipedia.org/wiki/Meta_refresh raise response.render('simplates/refresh.spt', state, **extra) pando.Response.refresh = _refresh +del _refresh if hasattr(pando.Response, 'render'): raise Warning('pando.Response.render() already exists') @@ -491,18 +505,21 @@ def _render(response, path, state, **extra): render_response(state, resource, response, website) raise response pando.Response.render = _render +del _render if hasattr(pando.Response, 'set_cookie'): raise Warning('pando.Response.set_cookie() already exists') def _set_cookie(response, *args, **kw): set_cookie(response.headers.cookie, *args, **kw) pando.Response.set_cookie = _set_cookie +del _set_cookie if hasattr(pando.Response, 'erase_cookie'): raise Warning('pando.Response.erase_cookie() already exists') def _erase_cookie(response, *args, **kw): erase_cookie(response.headers.cookie, *args, **kw) pando.Response.erase_cookie = _erase_cookie +del _erase_cookie if hasattr(pando.Response, 'text'): raise Warning('pando.Response.text already exists') @@ -510,7 +527,20 @@ def _decode_body(self): body = self.body return body.decode('utf8') if isinstance(body, bytes) else body pando.Response.text = property(_decode_body) +del _decode_body +def _str(self): + r = f"{self.code} {self._status()}" + if self.code >= 301 and self.code < 400 and b'Location' in self.headers: + r += f" (Location: {self.headers[b'Location'].decode('ascii', 'backslashreplace')})" + body = self.body + if body: + if isinstance(body, bytes): + body = body.decode('ascii', 'backslashreplace') + r += f":\n{body}" + return r +pando.Response.__str__ = _str +del _str # Log some performance information # ================================ diff --git a/liberapay/models/exchange_route.py b/liberapay/models/exchange_route.py index a6a202acd..d1df9bf7d 100644 --- a/liberapay/models/exchange_route.py +++ b/liberapay/models/exchange_route.py @@ -133,7 +133,9 @@ def attach_stripe_payment_method(cls, participant, pm, one_off): else: customer_id = stripe.Customer.create( email=participant.get_email_address(), + metadata={'participant_id': participant.id}, payment_method=pm.id, + preferred_locales=[participant.email_lang], idempotency_key='create_customer_for_participant_%i_with_%s' % ( participant.id, pm.id ), @@ -177,46 +179,6 @@ def attach_stripe_payment_method(cls, participant, pm, one_off): assert not si.next_action, si.next_action return route - @classmethod - def attach_stripe_source(cls, participant, source, one_off): - if source.type == 'sepa_debit': - network = 'stripe-sdd' - elif source.type == 'card': - network = 'stripe-card' - else: - raise NotImplementedError(source.type) - customer_id = cls.db.one(""" - SELECT remote_user_id - FROM exchange_routes - WHERE participant = %s - AND network::text LIKE 'stripe-%%' - LIMIT 1 - """, (participant.id,)) - if customer_id: - customer = stripe.Customer.retrieve(customer_id) - customer.sources.create( - source=source.id, - idempotency_key='attach_%s_to_%s' % (source.id, customer_id), - ) - del customer - else: - customer_id = stripe.Customer.create( - email=source.owner.email, - source=source.id, - idempotency_key='create_customer_for_participant_%i_with_%s' % ( - participant.id, source.id - ), - ).id - source_country = getattr(getattr(source, source.type), 'country', None) - source_currency = getattr(getattr(source, source.type), 'currency', None) - route = ExchangeRoute.insert( - participant, network, source.id, source.status, - one_off=one_off, remote_user_id=customer_id, - country=source_country, currency=source_currency, - ) - route.stripe_source = source - return route - def invalidate(self): if self.network.startswith('stripe-'): if self.address.startswith('pm_'): @@ -329,12 +291,19 @@ def get_mandate_url(self): return elif self.network == 'stripe-sdd': if self.address.startswith('pm_'): - mandate = stripe.Mandate.retrieve(self.mandate) - return mandate.payment_method_details.sepa_debit.url + if self.mandate: + mandate = stripe.Mandate.retrieve(self.mandate) + return mandate.payment_method_details.sepa_debit.url + else: + website.tell_sentry(Warning( + f"{self!r}.mandate is unexpectedly None" + )) + return else: return self.stripe_source.sepa_debit.mandate_url else: - raise NotImplementedError(self.network) + website.tell_sentry(NotImplementedError(self.network)) + return def get_partial_number(self): if self.network == 'stripe-card': diff --git a/liberapay/payin/stripe.py b/liberapay/payin/stripe.py index f42552244..e6b7ab9af 100644 --- a/liberapay/payin/stripe.py +++ b/liberapay/payin/stripe.py @@ -61,25 +61,6 @@ def get_partial_iban(sepa_debit): return '%s⋯%s' % (sepa_debit.country, sepa_debit.last4) -def create_source_from_token(token_id, one_off, amount, owner_info, return_url): - token = stripe.Token.retrieve(token_id) - if token.type == 'bank_account': - source_type = 'sepa_debit' - elif token.type == 'card': - source_type = 'card' - else: - raise NotImplementedError(token.type) - return stripe.Source.create( - amount=Money_to_int(amount) if one_off and amount else None, - owner=owner_info, - redirect={'return_url': return_url}, - token=token.id, - type=source_type, - usage=('single_use' if one_off and amount and source_type == 'card' else 'reusable'), - idempotency_key='create_source_from_%s' % token.id, - ) - - def charge(db, payin, payer, route, update_donor=True): """Initiate the Charge for the given payin. diff --git a/liberapay/security/authentication.py b/liberapay/security/authentication.py index cfd1947f6..6a51e6e73 100644 --- a/liberapay/security/authentication.py +++ b/liberapay/security/authentication.py @@ -251,7 +251,7 @@ def start_user_as_anon(): def authenticate_user_if_possible(csrf_token, request, response, state, user, _): """This signs the user in. """ - if state.get('etag'): + if state.get('etag') or request.path.raw.startswith('/callbacks/'): return db = state['website'].db diff --git a/liberapay/testing/__init__.py b/liberapay/testing/__init__.py index 7432d8a3f..fca3e88e7 100644 --- a/liberapay/testing/__init__.py +++ b/liberapay/testing/__init__.py @@ -8,6 +8,7 @@ import unittest import html5lib +import pando from pando.testing.client import Client from pando.utils import utcnow from psycopg2 import IntegrityError, InternalError @@ -62,6 +63,7 @@ def __init__(self, *a, **kw): def build_wsgi_environ(self, method, *a, **kw): """Extend base class to support authenticating as a certain user. """ + kw.setdefault('HTTP_USER_AGENT', f"Pando-test-client/{pando.__version__}") # csrf - for both anon and authenticated csrf_token = kw.get('csrf_token', 'ThisIsATokenThatIsThirtyTwoBytes') diff --git a/style/base/forms.scss b/style/base/forms.scss index 975470158..f5f02acae 100644 --- a/style/base/forms.scss +++ b/style/base/forms.scss @@ -136,8 +136,13 @@ form.buttons > .btn, span.buttons > .btn { white-space: normal; } -form[disabled] button { - pointer-events: none; +form:disabled, fieldset:disabled { + button { + pointer-events: none; + } + label { + color: $gray-light; + } } .btn-block + p { diff --git a/tests/py/fixtures/TestPages.yml b/tests/py/fixtures/TestPages.yml index 5534edee0..ddadc01fb 100644 --- a/tests/py/fixtures/TestPages.yml +++ b/tests/py/fixtures/TestPages.yml @@ -5,561 +5,589 @@ interactions: method: GET uri: https://api.stripe.com/v1/payment_methods/pm_card_visa response: - body: {string: "{\n \"id\": \"pm_1Fs5aZFk4eGpfLOC1NdHKCLC\",\n \"object\": \"\ - payment_method\",\n \"billing_details\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": null,\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": null,\n \"name\": null,\n \"phone\": null\n },\n \"\ - card\": {\n \"brand\": \"visa\",\n \"checks\": {\n \"address_line1_check\"\ - : null,\n \"address_postal_code_check\": null,\n \"cvc_check\":\ - \ null\n },\n \"country\": \"US\",\n \"exp_month\": 12,\n \"exp_year\"\ - : 2020,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ - ,\n \"generated_from\": null,\n \"last4\": \"4242\",\n \"three_d_secure_usage\"\ - : {\n \"supported\": true\n },\n \"wallet\": null\n },\n \"created\"\ - : 1576925619,\n \"customer\": null,\n \"livemode\": false,\n \"metadata\"\ - : {\n },\n \"type\": \"card\"\n}\n"} + body: {string: "{\n \"id\": \"pm_1QUWHCFk4eGpfLOCAQyEhOXd\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": null,\n \"name\": null,\n\ + \ \"phone\": null\n },\n \"card\": {\n \"brand\": \"visa\",\n \"\ + checks\": {\n \"address_line1_check\": null,\n \"address_postal_code_check\"\ + : null,\n \"cvc_check\": \"unchecked\"\n },\n \"country\": \"US\"\ + ,\n \"display_brand\": \"visa\",\n \"exp_month\": 12,\n \"exp_year\"\ + : 2025,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ + ,\n \"generated_from\": null,\n \"last4\": \"4242\",\n \"networks\"\ + : {\n \"available\": [\n \"visa\"\n ],\n \"preferred\"\ + : null\n },\n \"three_d_secure_usage\": {\n \"supported\": true\n\ + \ },\n \"wallet\": null\n },\n \"created\": 1733848030,\n \"customer\"\ + : null,\n \"livemode\": false,\n \"metadata\": {},\n \"type\": \"card\"\ + \n}"} headers: + 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'] Connection: [keep-alive] - Content-Length: ['834'] + Content-Length: ['996'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:39 GMT'] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 16:27:10 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_ywCs60IwkSahLd] Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - request-id: [req_PQpNyuHbHeULVA] - stripe-version: ['2019-08-14'] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: payment_method=pm_1Fs5aZFk4eGpfLOC1NdHKCLC + body: email=alice%40liberapay.com&metadata[participant_id]=1000&payment_method=pm_1QUWHCFk4eGpfLOCAQyEhOXd&preferred_locales[0]=en headers: {} method: POST uri: https://api.stripe.com/v1/customers response: - body: {string: "{\n \"id\": \"cus_GOtNGR443oVnQX\",\n \"object\": \"customer\"\ + body: {string: "{\n \"id\": \"cus_RNGo5gSSdncb3m\",\n \"object\": \"customer\"\ ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ - created\": 1576925619,\n \"currency\": null,\n \"default_source\": null,\n\ - \ \"delinquent\": false,\n \"description\": null,\n \"discount\": null,\n\ - \ \"email\": null,\n \"invoice_prefix\": \"4163E853\",\n \"invoice_settings\"\ - : {\n \"custom_fields\": null,\n \"default_payment_method\": null,\n\ - \ \"footer\": null\n },\n \"livemode\": false,\n \"metadata\": {\n \ - \ },\n \"name\": null,\n \"phone\": null,\n \"preferred_locales\": [\n\n\ - \ ],\n \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n\ - \ \"data\": [\n\n ],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_GOtNGR443oVnQX/sources\"\n },\n \"\ - subscriptions\": {\n \"object\": \"list\",\n \"data\": [\n\n ],\n\ - \ \"has_more\": false,\n \"total_count\": 0,\n \"url\": \"/v1/customers/cus_GOtNGR443oVnQX/subscriptions\"\ + created\": 1733848030,\n \"currency\": null,\n \"default_currency\": null,\n\ + \ \"default_source\": null,\n \"delinquent\": false,\n \"description\"\ + : null,\n \"discount\": null,\n \"email\": \"alice@liberapay.com\",\n \"\ + invoice_prefix\": \"B009924D\",\n \"invoice_settings\": {\n \"custom_fields\"\ + : null,\n \"default_payment_method\": null,\n \"footer\": null,\n \ + \ \"rendering_options\": null\n },\n \"livemode\": false,\n \"metadata\"\ + : {\n \"participant_id\": \"1000\"\n },\n \"name\": null,\n \"next_invoice_sequence\"\ + : 1,\n \"phone\": null,\n \"preferred_locales\": [\n \"en\"\n ],\n \ + \ \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n \"\ + data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \"url\"\ + : \"/v1/customers/cus_RNGo5gSSdncb3m/sources\"\n },\n \"subscriptions\"\ + : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ + \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_RNGo5gSSdncb3m/subscriptions\"\ \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ - list\",\n \"data\": [\n\n ],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_GOtNGR443oVnQX/tax_ids\"\n },\n \"\ - tax_info\": null,\n \"tax_info_verification\": null\n}\n"} + list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ + : 0,\n \"url\": \"/v1/customers/cus_RNGo5gSSdncb3m/tax_ids\"\n },\n \"\ + tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ + }"} headers: + 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'] Connection: [keep-alive] - Content-Length: ['1117'] + Content-Length: ['1263'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:40 GMT'] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 16:27:11 GMT'] + Idempotency-Key: [create_customer_for_participant_1000_with_pm_1QUWHCFk4eGpfLOCAQyEhOXd] + Original-Request: [req_WkYGkB59QjVLaX] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_WkYGkB59QjVLaX] Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - idempotency-key: [create_customer_for_participant_1000] - original-request: [req_PIxx4hJ6HvGhAb] - request-id: [req_PIxx4hJ6HvGhAb] - stripe-should-retry: ['false'] - stripe-version: ['2019-08-14'] - status: {code: 200, message: OK} -- request: - body: confirm=True&customer=cus_GOtNGR443oVnQX&payment_method=pm_1Fs5aZFk4eGpfLOC1NdHKCLC&metadata[route_id]=1000&return_url=http%3A%2F%2Flocalhost%2Falice%2Froutes%2F&usage=off_session - headers: {} - method: POST - uri: https://api.stripe.com/v1/setup_intents - response: - body: {string: "{\n \"id\": \"seti_1Fs5aaFk4eGpfLOCY4NUfsDY\",\n \"object\"\ - : \"setup_intent\",\n \"application\": null,\n \"cancellation_reason\":\ - \ null,\n \"client_secret\": \"seti_1Fs5aaFk4eGpfLOCY4NUfsDY_secret_GOtNrYZpYH43JQnZDHN9nmsBfX9ayLw\"\ - ,\n \"created\": 1576925620,\n \"customer\": \"cus_GOtNGR443oVnQX\",\n \ - \ \"description\": null,\n \"last_setup_error\": null,\n \"livemode\": false,\n\ - \ \"mandate\": null,\n \"metadata\": {\n \"route_id\": \"1000\"\n },\n\ - \ \"next_action\": null,\n \"on_behalf_of\": null,\n \"payment_method\"\ - : \"pm_1Fs5aZFk4eGpfLOC1NdHKCLC\",\n \"payment_method_options\": {\n \"\ - card\": {\n \"request_three_d_secure\": \"automatic\"\n }\n },\n\ - \ \"payment_method_types\": [\n \"card\"\n ],\n \"single_use_mandate\"\ - : null,\n \"status\": \"succeeded\",\n \"usage\": \"off_session\"\n}\n"} - headers: - Connection: [keep-alive] - Content-Length: ['735'] - Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:40 GMT'] - Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - idempotency-key: [create_SI_for_route_1000] - original-request: [req_28YAJKJE50WeDr] - request-id: [req_28YAJKJE50WeDr] - stripe-should-retry: ['false'] - stripe-version: ['2019-08-14'] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Should-Retry: ['false'] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/payment_methods/pm_1Fs5aZFk4eGpfLOC1NdHKCLC + uri: https://api.stripe.com/v1/payment_methods/pm_1QUWHCFk4eGpfLOCAQyEhOXd response: - body: {string: "{\n \"id\": \"pm_1Fs5aZFk4eGpfLOC1NdHKCLC\",\n \"object\": \"\ - payment_method\",\n \"billing_details\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": null,\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": null,\n \"name\": null,\n \"phone\": null\n },\n \"\ - card\": {\n \"brand\": \"visa\",\n \"checks\": {\n \"address_line1_check\"\ - : null,\n \"address_postal_code_check\": null,\n \"cvc_check\":\ - \ null\n },\n \"country\": \"US\",\n \"exp_month\": 12,\n \"exp_year\"\ - : 2020,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ - ,\n \"generated_from\": null,\n \"last4\": \"4242\",\n \"three_d_secure_usage\"\ - : {\n \"supported\": true\n },\n \"wallet\": null\n },\n \"created\"\ - : 1576925619,\n \"customer\": \"cus_GOtNGR443oVnQX\",\n \"livemode\": false,\n\ - \ \"metadata\": {\n },\n \"type\": \"card\"\n}\n"} + body: {string: "{\n \"id\": \"pm_1QUWHCFk4eGpfLOCAQyEhOXd\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": null,\n \"name\": null,\n\ + \ \"phone\": null\n },\n \"card\": {\n \"brand\": \"visa\",\n \"\ + checks\": {\n \"address_line1_check\": null,\n \"address_postal_code_check\"\ + : null,\n \"cvc_check\": \"pass\"\n },\n \"country\": \"US\",\n\ + \ \"display_brand\": \"visa\",\n \"exp_month\": 12,\n \"exp_year\"\ + : 2025,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ + ,\n \"generated_from\": null,\n \"last4\": \"4242\",\n \"networks\"\ + : {\n \"available\": [\n \"visa\"\n ],\n \"preferred\"\ + : null\n },\n \"three_d_secure_usage\": {\n \"supported\": true\n\ + \ },\n \"wallet\": null\n },\n \"created\": 1733848030,\n \"customer\"\ + : \"cus_RNGo5gSSdncb3m\",\n \"livemode\": false,\n \"metadata\": {},\n \ + \ \"type\": \"card\"\n}"} headers: + 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'] Connection: [keep-alive] - Content-Length: ['850'] + Content-Length: ['1007'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:41 GMT'] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 16:27:11 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_XKtlKsXtHQlTWN] Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - request-id: [req_z7WxZcFUBAIlHQ] - stripe-version: ['2019-08-14'] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: bank_account[country]=BE&bank_account[currency]=EUR&bank_account[account_number]=BE62510007547061&bank_account[account_holder_name]=Dupond+et+Dupont + body: type=sepa_debit&billing_details[email]=dupond.dupont%40example.com&billing_details[name]=Dupond+et+Dupont&sepa_debit[iban]=BE62510007547061 headers: {} method: POST - uri: https://api.stripe.com/v1/tokens + uri: https://api.stripe.com/v1/payment_methods response: - body: {string: "{\n \"id\": \"btok_1Fs5abFk4eGpfLOCzJCHOyoQ\",\n \"object\"\ - : \"token\",\n \"bank_account\": {\n \"id\": \"ba_1Fs5abFk4eGpfLOCiYMxdr51\"\ - ,\n \"object\": \"bank_account\",\n \"account_holder_name\": \"Dupond\ - \ et Dupont\",\n \"account_holder_type\": null,\n \"bank_name\": \"\ - STRIPE TEST BANK\",\n \"country\": \"BE\",\n \"currency\": \"eur\",\n\ - \ \"fingerprint\": \"ES232am7HgBL2ODt\",\n \"last4\": \"7061\",\n \ - \ \"routing_number\": \"110000000\",\n \"status\": \"new\"\n },\n \"\ - client_ip\": \"185.134.23.122\",\n \"created\": 1576925621,\n \"livemode\"\ - : false,\n \"type\": \"bank_account\",\n \"used\": false\n}\n"} + body: {string: "{\n \"id\": \"pm_1QUWHDFk4eGpfLOC2Rtdljhd\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"dupond.dupont@example.com\"\ + ,\n \"name\": \"Dupond et Dupont\",\n \"phone\": null\n },\n \"created\"\ + : 1733848031,\n \"customer\": null,\n \"livemode\": false,\n \"metadata\"\ + : {},\n \"sepa_debit\": {\n \"bank_code\": \"510\",\n \"branch_code\"\ + : \"\",\n \"country\": \"BE\",\n \"fingerprint\": \"Sn4vUwcwpaXNMJsz\"\ + ,\n \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"7061\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} headers: + 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'] Connection: [keep-alive] - Content-Length: ['559'] + Content-Length: ['722'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:41 GMT'] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 16:27:11 GMT'] + Idempotency-Key: [2818796c-28ed-4557-b360-9e0f622cb747] + Original-Request: [req_SGiua2Xgd89LON] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_SGiua2Xgd89LON] Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - idempotency-key: [b75ea9cb-e8f1-478d-a80a-ab7202e91abd] - original-request: [req_IvvXRDmx61HhIS] - request-id: [req_IvvXRDmx61HhIS] - stripe-should-retry: ['false'] - stripe-version: ['2019-08-14'] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Should-Retry: ['false'] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/tokens/btok_1Fs5abFk4eGpfLOCzJCHOyoQ + uri: https://api.stripe.com/v1/payment_methods/pm_1QUWHDFk4eGpfLOC2Rtdljhd response: - body: {string: "{\n \"id\": \"btok_1Fs5abFk4eGpfLOCzJCHOyoQ\",\n \"object\"\ - : \"token\",\n \"bank_account\": {\n \"id\": \"ba_1Fs5abFk4eGpfLOCiYMxdr51\"\ - ,\n \"object\": \"bank_account\",\n \"account_holder_name\": \"Dupond\ - \ et Dupont\",\n \"account_holder_type\": null,\n \"bank_name\": \"\ - STRIPE TEST BANK\",\n \"country\": \"BE\",\n \"currency\": \"eur\",\n\ - \ \"fingerprint\": \"ES232am7HgBL2ODt\",\n \"last4\": \"7061\",\n \ - \ \"routing_number\": \"110000000\",\n \"status\": \"new\"\n },\n \"\ - client_ip\": \"185.134.23.122\",\n \"created\": 1576925621,\n \"livemode\"\ - : false,\n \"type\": \"bank_account\",\n \"used\": false\n}\n"} + body: {string: "{\n \"id\": \"pm_1QUWHDFk4eGpfLOC2Rtdljhd\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"dupond.dupont@example.com\"\ + ,\n \"name\": \"Dupond et Dupont\",\n \"phone\": null\n },\n \"created\"\ + : 1733848031,\n \"customer\": null,\n \"livemode\": false,\n \"metadata\"\ + : {},\n \"sepa_debit\": {\n \"bank_code\": \"510\",\n \"branch_code\"\ + : \"\",\n \"country\": \"BE\",\n \"fingerprint\": \"Sn4vUwcwpaXNMJsz\"\ + ,\n \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"7061\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} headers: + 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'] Connection: [keep-alive] - Content-Length: ['559'] + Content-Length: ['722'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:42 GMT'] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 16:27:11 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_hwNOHO1d38gtXr] Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - request-id: [req_rQKqnBiKG1YSl0] - stripe-version: ['2019-08-14'] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: redirect[return_url]=http%3A%2F%2Flocalhost%2Falice%2Froutes%2F&token=btok_1Fs5abFk4eGpfLOCzJCHOyoQ&type=sepa_debit&usage=reusable + body: customer=cus_RNGo5gSSdncb3m headers: {} method: POST - uri: https://api.stripe.com/v1/sources - response: - body: {string: "{\n \"id\": \"src_1Fs5acFk4eGpfLOCcnHqZg1g\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - ,\n \"created\": 1576925622,\n \"currency\": \"eur\",\n \"flow\": \"none\"\ - ,\n \"livemode\": false,\n \"mandate\": {\n \"acceptance\": {\n \ - \ \"date\": null,\n \"ip\": null,\n \"offline\": null,\n \"\ - online\": null,\n \"status\": \"pending\",\n \"type\": null,\n \ - \ \"user_agent\": null\n },\n \"amount\": null,\n \"currency\"\ - : null,\n \"interval\": \"variable\",\n \"notification_method\": \"\ - none\",\n \"reference\": \"MHEMEHSTQZRHFLVK\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1Fs5acFk4eGpfLOCcnHqZg1g/src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - \n },\n \"metadata\": {\n },\n \"owner\": {\n \"address\": {\n \ - \ \"city\": null,\n \"country\": \"BE\",\n \"line1\": null,\n \ - \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ - \ },\n \"email\": null,\n \"name\": \"Dupond et Dupont\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"last4\": \"7061\",\n \"bank_code\": \"510\",\n \"fingerprint\"\ - : \"odwo0tz8rVrYFVTe\",\n \"country\": \"BE\",\n \"mandate_reference\"\ - : \"MHEMEHSTQZRHFLVK\",\n \"mandate_url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1Fs5acFk4eGpfLOCcnHqZg1g/src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - ,\n \"branch_code\": null\n },\n \"statement_descriptor\": null,\n \"\ - status\": \"chargeable\",\n \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\ - \n}\n"} - headers: - Connection: [keep-alive] - Content-Length: ['1533'] - Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:42 GMT'] - Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - idempotency-key: [create_source_from_btok_1Fs5abFk4eGpfLOCzJCHOyoQ] - original-request: [req_pWaO7QlDfCR114] - request-id: [req_pWaO7QlDfCR114] - stripe-should-retry: ['false'] - stripe-version: ['2019-08-14'] - status: {code: 200, message: OK} -- request: - body: null - headers: {} - method: GET - uri: https://api.stripe.com/v1/customers/cus_GOtNGR443oVnQX + uri: https://api.stripe.com/v1/payment_methods/pm_1QUWHDFk4eGpfLOC2Rtdljhd/attach response: - body: {string: "{\n \"id\": \"cus_GOtNGR443oVnQX\",\n \"object\": \"customer\"\ - ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ - created\": 1576925619,\n \"currency\": null,\n \"default_source\": null,\n\ - \ \"delinquent\": false,\n \"description\": null,\n \"discount\": null,\n\ - \ \"email\": null,\n \"invoice_prefix\": \"4163E853\",\n \"invoice_settings\"\ - : {\n \"custom_fields\": null,\n \"default_payment_method\": null,\n\ - \ \"footer\": null\n },\n \"livemode\": false,\n \"metadata\": {\n \ - \ },\n \"name\": null,\n \"phone\": null,\n \"preferred_locales\": [\n\n\ - \ ],\n \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n\ - \ \"data\": [\n\n ],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_GOtNGR443oVnQX/sources\"\n },\n \"\ - subscriptions\": {\n \"object\": \"list\",\n \"data\": [\n\n ],\n\ - \ \"has_more\": false,\n \"total_count\": 0,\n \"url\": \"/v1/customers/cus_GOtNGR443oVnQX/subscriptions\"\ - \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ - list\",\n \"data\": [\n\n ],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_GOtNGR443oVnQX/tax_ids\"\n },\n \"\ - tax_info\": null,\n \"tax_info_verification\": null\n}\n"} + body: {string: "{\n \"id\": \"pm_1QUWHDFk4eGpfLOC2Rtdljhd\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"dupond.dupont@example.com\"\ + ,\n \"name\": \"Dupond et Dupont\",\n \"phone\": null\n },\n \"created\"\ + : 1733848031,\n \"customer\": \"cus_RNGo5gSSdncb3m\",\n \"livemode\": false,\n\ + \ \"metadata\": {},\n \"sepa_debit\": {\n \"bank_code\": \"510\",\n \ + \ \"branch_code\": \"\",\n \"country\": \"BE\",\n \"fingerprint\"\ + : \"Sn4vUwcwpaXNMJsz\",\n \"generated_from\": {\n \"charge\": null,\n\ + \ \"setup_attempt\": null\n },\n \"last4\": \"7061\"\n },\n \"\ + type\": \"sepa_debit\"\n}"} headers: + 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'] Connection: [keep-alive] - Content-Length: ['1117'] + Content-Length: ['738'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:42 GMT'] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 16:27:12 GMT'] + Idempotency-Key: [attach_pm_1QUWHDFk4eGpfLOC2Rtdljhd_to_cus_RNGo5gSSdncb3m] + Original-Request: [req_ORnbHQNsM0C3jG] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_ORnbHQNsM0C3jG] Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - request-id: [req_yGIWYnmoMJnAPF] - stripe-version: ['2019-08-14'] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Should-Retry: ['false'] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: source=src_1Fs5acFk4eGpfLOCcnHqZg1g + body: confirm=True&customer=cus_RNGo5gSSdncb3m&mandate_data[customer_acceptance][type]=online&mandate_data[customer_acceptance][accepted_at]=1733848032&mandate_data[customer_acceptance][online][ip_address]=0.0.0.0&mandate_data[customer_acceptance][online][user_agent]=Pando-test-client%2F0.47&metadata[route_id]=1001&payment_method=pm_1QUWHDFk4eGpfLOC2Rtdljhd&payment_method_types[0]=sepa_debit&usage=off_session headers: {} method: POST - uri: https://api.stripe.com/v1/customers/cus_GOtNGR443oVnQX/sources + uri: https://api.stripe.com/v1/setup_intents response: - body: {string: "{\n \"id\": \"src_1Fs5acFk4eGpfLOCcnHqZg1g\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - ,\n \"created\": 1576925622,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_GOtNGR443oVnQX\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"MHEMEHSTQZRHFLVK\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1Fs5acFk4eGpfLOCcnHqZg1g/src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - \n },\n \"metadata\": {\n },\n \"owner\": {\n \"address\": {\n \ - \ \"city\": null,\n \"country\": \"BE\",\n \"line1\": null,\n \ - \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ - \ },\n \"email\": null,\n \"name\": \"Dupond et Dupont\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"last4\": \"7061\",\n \"bank_code\": \"510\",\n \"fingerprint\"\ - : \"odwo0tz8rVrYFVTe\",\n \"country\": \"BE\",\n \"mandate_reference\"\ - : \"MHEMEHSTQZRHFLVK\",\n \"mandate_url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1Fs5acFk4eGpfLOCcnHqZg1g/src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - ,\n \"branch_code\": null\n },\n \"statement_descriptor\": null,\n \"\ - status\": \"chargeable\",\n \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\ - \n}\n"} + body: {string: "{\n \"id\": \"seti_1QUWHEFk4eGpfLOCYlsdTQeL\",\n \"object\"\ + : \"setup_intent\",\n \"application\": null,\n \"automatic_payment_methods\"\ + : null,\n \"cancellation_reason\": null,\n \"client_secret\": \"seti_1QUWHEFk4eGpfLOCYlsdTQeL_secret_RNGogfTbKJWrovq6XlZ5Z1OEMpRTgVl\"\ + ,\n \"created\": 1733848032,\n \"customer\": \"cus_RNGo5gSSdncb3m\",\n \ + \ \"description\": null,\n \"flow_directions\": null,\n \"last_setup_error\"\ + : null,\n \"latest_attempt\": \"setatt_1QUWHEFk4eGpfLOCIiLKfNWm\",\n \"\ + livemode\": false,\n \"mandate\": \"mandate_1QUWHEFk4eGpfLOCOm3mpD8x\",\n\ + \ \"metadata\": {\n \"route_id\": \"1001\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUWHDFk4eGpfLOC2Rtdljhd\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {},\n \"payment_method_types\": [\n \"sepa_debit\"\n ],\n \"single_use_mandate\"\ + : null,\n \"status\": \"succeeded\",\n \"usage\": \"off_session\"\n}"} headers: + 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'] Connection: [keep-alive] - Content-Length: ['1569'] + Content-Length: ['870'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:43 GMT'] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 16:27:12 GMT'] + Idempotency-Key: [create_SI_for_route_1001] + Original-Request: [req_yCRfjqBqf9xpqW] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_yCRfjqBqf9xpqW] Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - idempotency-key: [attach_src_1Fs5acFk4eGpfLOCcnHqZg1g_to_cus_GOtNGR443oVnQX] - original-request: [req_enIyOLKLJi3vFw] - request-id: [req_enIyOLKLJi3vFw] - stripe-should-retry: ['false'] - stripe-version: ['2019-08-14'] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Should-Retry: ['false'] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1Fs5acFk4eGpfLOCcnHqZg1g + uri: https://api.stripe.com/v1/payment_methods/pm_1QUWHDFk4eGpfLOC2Rtdljhd response: - body: {string: "{\n \"id\": \"src_1Fs5acFk4eGpfLOCcnHqZg1g\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - ,\n \"created\": 1576925622,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_GOtNGR443oVnQX\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"MHEMEHSTQZRHFLVK\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1Fs5acFk4eGpfLOCcnHqZg1g/src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - \n },\n \"metadata\": {\n },\n \"owner\": {\n \"address\": {\n \ - \ \"city\": null,\n \"country\": \"BE\",\n \"line1\": null,\n \ - \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ - \ },\n \"email\": null,\n \"name\": \"Dupond et Dupont\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"last4\": \"7061\",\n \"bank_code\": \"510\",\n \"fingerprint\"\ - : \"odwo0tz8rVrYFVTe\",\n \"country\": \"BE\",\n \"mandate_reference\"\ - : \"MHEMEHSTQZRHFLVK\",\n \"mandate_url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1Fs5acFk4eGpfLOCcnHqZg1g/src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - ,\n \"branch_code\": null\n },\n \"statement_descriptor\": null,\n \"\ - status\": \"chargeable\",\n \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\ - \n}\n"} + body: {string: "{\n \"id\": \"pm_1QUWHDFk4eGpfLOC2Rtdljhd\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"dupond.dupont@example.com\"\ + ,\n \"name\": \"Dupond et Dupont\",\n \"phone\": null\n },\n \"created\"\ + : 1733848031,\n \"customer\": \"cus_RNGo5gSSdncb3m\",\n \"livemode\": false,\n\ + \ \"metadata\": {},\n \"sepa_debit\": {\n \"bank_code\": \"510\",\n \ + \ \"branch_code\": \"\",\n \"country\": \"BE\",\n \"fingerprint\"\ + : \"Sn4vUwcwpaXNMJsz\",\n \"generated_from\": {\n \"charge\": null,\n\ + \ \"setup_attempt\": null\n },\n \"last4\": \"7061\"\n },\n \"\ + type\": \"sepa_debit\"\n}"} headers: + 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'] Connection: [keep-alive] - Content-Length: ['1569'] + Content-Length: ['738'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:43 GMT'] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 16:27:12 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_TdNkQaSQJO7Ssh] Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - request-id: [req_EVGYQPOa4xU2cV] - stripe-version: ['2019-08-14'] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/payment_methods/pm_1Fs5aZFk4eGpfLOC1NdHKCLC + uri: https://api.stripe.com/v1/mandates/mandate_1QUWHEFk4eGpfLOCOm3mpD8x response: - body: {string: "{\n \"id\": \"pm_1Fs5aZFk4eGpfLOC1NdHKCLC\",\n \"object\": \"\ - payment_method\",\n \"billing_details\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": null,\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": null,\n \"name\": null,\n \"phone\": null\n },\n \"\ - card\": {\n \"brand\": \"visa\",\n \"checks\": {\n \"address_line1_check\"\ - : null,\n \"address_postal_code_check\": null,\n \"cvc_check\":\ - \ null\n },\n \"country\": \"US\",\n \"exp_month\": 12,\n \"exp_year\"\ - : 2020,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ - ,\n \"generated_from\": null,\n \"last4\": \"4242\",\n \"three_d_secure_usage\"\ - : {\n \"supported\": true\n },\n \"wallet\": null\n },\n \"created\"\ - : 1576925619,\n \"customer\": \"cus_GOtNGR443oVnQX\",\n \"livemode\": false,\n\ - \ \"metadata\": {\n },\n \"type\": \"card\"\n}\n"} + body: {string: "{\n \"id\": \"mandate_1QUWHEFk4eGpfLOCOm3mpD8x\",\n \"object\"\ + : \"mandate\",\n \"customer_acceptance\": {\n \"accepted_at\": 1733848032,\n\ + \ \"online\": {\n \"ip_address\": \"0.0.0.0\",\n \"user_agent\"\ + : \"Pando-test-client/0.47\"\n },\n \"type\": \"online\"\n },\n \"\ + livemode\": false,\n \"multi_use\": {},\n \"payment_method\": \"pm_1QUWHDFk4eGpfLOC2Rtdljhd\"\ + ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \"reference\"\ + : \"E9NAUZGZMDTCAOU4\",\n \"url\": \"https://payments.stripe.com/sepa_debit/mandate/mandate_test_YWNjdF8xQ2h5YXlGazRlR3BmTE9DLG1hbmRhdGVzdF9STkdvdDB1ZHlWeGgyWlhlR2NhTDdsaDlaa2FSY1h4000057JhtxCh\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"status\": \"active\",\n\ + \ \"type\": \"multi_use\"\n}"} headers: + 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'] Connection: [keep-alive] - Content-Length: ['850'] + Content-Length: ['686'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:44 GMT'] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 16:27:13 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_OxIQ8YRWKmsRoG] Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - request-id: [req_p5Wpybl26ta2cy] - stripe-version: ['2019-08-14'] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1Fs5acFk4eGpfLOCcnHqZg1g + uri: https://api.stripe.com/v1/payment_methods/pm_1QUWHCFk4eGpfLOCAQyEhOXd response: - body: {string: "{\n \"id\": \"src_1Fs5acFk4eGpfLOCcnHqZg1g\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - ,\n \"created\": 1576925622,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_GOtNGR443oVnQX\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"MHEMEHSTQZRHFLVK\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1Fs5acFk4eGpfLOCcnHqZg1g/src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - \n },\n \"metadata\": {\n },\n \"owner\": {\n \"address\": {\n \ - \ \"city\": null,\n \"country\": \"BE\",\n \"line1\": null,\n \ - \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ - \ },\n \"email\": null,\n \"name\": \"Dupond et Dupont\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"last4\": \"7061\",\n \"bank_code\": \"510\",\n \"fingerprint\"\ - : \"odwo0tz8rVrYFVTe\",\n \"country\": \"BE\",\n \"mandate_reference\"\ - : \"MHEMEHSTQZRHFLVK\",\n \"mandate_url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1Fs5acFk4eGpfLOCcnHqZg1g/src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - ,\n \"branch_code\": null\n },\n \"statement_descriptor\": null,\n \"\ - status\": \"chargeable\",\n \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\ - \n}\n"} + body: {string: "{\n \"id\": \"pm_1QUWHCFk4eGpfLOCAQyEhOXd\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": null,\n \"name\": null,\n\ + \ \"phone\": null\n },\n \"card\": {\n \"brand\": \"visa\",\n \"\ + checks\": {\n \"address_line1_check\": null,\n \"address_postal_code_check\"\ + : null,\n \"cvc_check\": \"pass\"\n },\n \"country\": \"US\",\n\ + \ \"display_brand\": \"visa\",\n \"exp_month\": 12,\n \"exp_year\"\ + : 2025,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ + ,\n \"generated_from\": null,\n \"last4\": \"4242\",\n \"networks\"\ + : {\n \"available\": [\n \"visa\"\n ],\n \"preferred\"\ + : null\n },\n \"three_d_secure_usage\": {\n \"supported\": true\n\ + \ },\n \"wallet\": null\n },\n \"created\": 1733848030,\n \"customer\"\ + : \"cus_RNGo5gSSdncb3m\",\n \"livemode\": false,\n \"metadata\": {},\n \ + \ \"type\": \"card\"\n}"} headers: + 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'] Connection: [keep-alive] - Content-Length: ['1569'] + Content-Length: ['1007'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:44 GMT'] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 16:27:13 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_8PjRfuL5H8aYf2] Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - request-id: [req_kGwfwZNMgOGfJI] - stripe-version: ['2019-08-14'] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} - method: DELETE - uri: https://api.stripe.com/v1/customers/cus_GOtNGR443oVnQX/sources/src_1Fs5acFk4eGpfLOCcnHqZg1g + method: POST + uri: https://api.stripe.com/v1/payment_methods/pm_1QUWHDFk4eGpfLOC2Rtdljhd/detach response: - body: {string: "{\n \"id\": \"src_1Fs5acFk4eGpfLOCcnHqZg1g\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - ,\n \"created\": 1576925622,\n \"currency\": \"eur\",\n \"flow\": \"none\"\ - ,\n \"livemode\": false,\n \"mandate\": {\n \"acceptance\": {\n \ - \ \"date\": null,\n \"ip\": null,\n \"offline\": null,\n \"\ - online\": null,\n \"status\": \"pending\",\n \"type\": null,\n \ - \ \"user_agent\": null\n },\n \"amount\": null,\n \"currency\"\ - : null,\n \"interval\": \"variable\",\n \"notification_method\": \"\ - none\",\n \"reference\": \"MHEMEHSTQZRHFLVK\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1Fs5acFk4eGpfLOCcnHqZg1g/src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - \n },\n \"metadata\": {\n },\n \"owner\": {\n \"address\": {\n \ - \ \"city\": null,\n \"country\": \"BE\",\n \"line1\": null,\n \ - \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ - \ },\n \"email\": null,\n \"name\": \"Dupond et Dupont\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"last4\": \"7061\",\n \"bank_code\": \"510\",\n \"fingerprint\"\ - : \"odwo0tz8rVrYFVTe\",\n \"country\": \"BE\",\n \"mandate_reference\"\ - : \"MHEMEHSTQZRHFLVK\",\n \"mandate_url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1Fs5acFk4eGpfLOCcnHqZg1g/src_client_secret_GOtNUoDQUWPRaHWP5abGDkJ1\"\ - ,\n \"branch_code\": null\n },\n \"statement_descriptor\": null,\n \"\ - status\": \"consumed\",\n \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\ - \n}\n"} + body: {string: "{\n \"id\": \"pm_1QUWHDFk4eGpfLOC2Rtdljhd\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"dupond.dupont@example.com\"\ + ,\n \"name\": \"Dupond et Dupont\",\n \"phone\": null\n },\n \"created\"\ + : 1733848031,\n \"customer\": null,\n \"livemode\": false,\n \"metadata\"\ + : {},\n \"sepa_debit\": {\n \"bank_code\": \"510\",\n \"branch_code\"\ + : \"\",\n \"country\": \"BE\",\n \"fingerprint\": \"Sn4vUwcwpaXNMJsz\"\ + ,\n \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"7061\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} headers: + 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'] Connection: [keep-alive] - Content-Length: ['1531'] + Content-Length: ['722'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:45 GMT'] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 16:27:13 GMT'] + Idempotency-Key: [d2d5ff77-a2ff-46d2-8aaf-a18ce8dc21d9] + Original-Request: [req_gFb0vGwl3RokO0] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_gFb0vGwl3RokO0] Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - request-id: [req_EP8K7oP6hroVOu] - stripe-version: ['2019-08-14'] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Should-Retry: ['false'] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: POST - uri: https://api.stripe.com/v1/payment_methods/pm_1Fs5aZFk4eGpfLOC1NdHKCLC/detach + uri: https://api.stripe.com/v1/payment_methods/pm_1QUWHCFk4eGpfLOCAQyEhOXd/detach response: - body: {string: "{\n \"id\": \"pm_1Fs5aZFk4eGpfLOC1NdHKCLC\",\n \"object\": \"\ - payment_method\",\n \"billing_details\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": null,\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": null,\n \"name\": null,\n \"phone\": null\n },\n \"\ - card\": {\n \"brand\": \"visa\",\n \"checks\": {\n \"address_line1_check\"\ - : null,\n \"address_postal_code_check\": null,\n \"cvc_check\":\ - \ null\n },\n \"country\": \"US\",\n \"exp_month\": 12,\n \"exp_year\"\ - : 2020,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ - ,\n \"generated_from\": null,\n \"last4\": \"4242\",\n \"three_d_secure_usage\"\ - : {\n \"supported\": true\n },\n \"wallet\": null\n },\n \"created\"\ - : 1576925619,\n \"customer\": null,\n \"livemode\": false,\n \"metadata\"\ - : {\n },\n \"type\": \"card\"\n}\n"} + body: {string: "{\n \"id\": \"pm_1QUWHCFk4eGpfLOCAQyEhOXd\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": null,\n \"name\": null,\n\ + \ \"phone\": null\n },\n \"card\": {\n \"brand\": \"visa\",\n \"\ + checks\": {\n \"address_line1_check\": null,\n \"address_postal_code_check\"\ + : null,\n \"cvc_check\": \"pass\"\n },\n \"country\": \"US\",\n\ + \ \"display_brand\": \"visa\",\n \"exp_month\": 12,\n \"exp_year\"\ + : 2025,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ + ,\n \"generated_from\": null,\n \"last4\": \"4242\",\n \"networks\"\ + : {\n \"available\": [\n \"visa\"\n ],\n \"preferred\"\ + : null\n },\n \"three_d_secure_usage\": {\n \"supported\": true\n\ + \ },\n \"wallet\": null\n },\n \"created\": 1733848030,\n \"customer\"\ + : null,\n \"livemode\": false,\n \"metadata\": {},\n \"type\": \"card\"\ + \n}"} headers: + 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'] Connection: [keep-alive] - Content-Length: ['834'] + Content-Length: ['991'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Sat, 21 Dec 2019 10:53:46 GMT'] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 16:27:14 GMT'] + Idempotency-Key: [a01f865c-37a5-42a6-8830-629f34e91a40] + Original-Request: [req_LFBaqI24WVrUyh] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_LFBaqI24WVrUyh] Server: [nginx] - Strict-Transport-Security: [max-age=31556926; includeSubDomains; preload] - access-control-allow-credentials: ['true'] - access-control-allow-methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - access-control-allow-origin: ['*'] - access-control-expose-headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - access-control-max-age: ['300'] - cache-control: ['no-cache, no-store'] - idempotency-key: [dbb0d38d-6d87-42ae-ae9d-219cd3e7a1e5] - original-request: [req_AWO717BsoLCzG4] - request-id: [req_AWO717BsoLCzG4] - stripe-should-retry: ['false'] - stripe-version: ['2019-08-14'] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Should-Retry: ['false'] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} version: 1 diff --git a/tests/py/fixtures/TestPayinsStripe.yml b/tests/py/fixtures/TestPayinsStripe.yml index 92107ed6c..18a012b9a 100644 --- a/tests/py/fixtures/TestPayinsStripe.yml +++ b/tests/py/fixtures/TestPayinsStripe.yml @@ -1,74 +1,49 @@ interactions: -- request: - body: bank_account[country]=DE&bank_account[currency]=EUR&bank_account[account_number]=DE89370400440532013000&bank_account[account_holder_name]=Jane+Doe - headers: {} - method: POST - uri: https://api.stripe.com/v1/tokens - response: - body: {string: "{\n \"id\": \"btok_1MIJTFFk4eGpfLOC9s4ykqK2\",\n \"object\"\ - : \"token\",\n \"bank_account\": {\n \"id\": \"ba_1MIJTFFk4eGpfLOCBTzJyP0o\"\ - ,\n \"object\": \"bank_account\",\n \"account_holder_name\": \"Jane\ - \ Doe\",\n \"account_holder_type\": null,\n \"account_type\": null,\n\ - \ \"bank_name\": \"STRIPE TEST BANK\",\n \"country\": \"DE\",\n \"\ - currency\": \"eur\",\n \"fingerprint\": \"vYeSfyBOnTdv1v6W\",\n \"last4\"\ - : \"3000\",\n \"routing_number\": \"110000000\",\n \"status\": \"new\"\ - \n },\n \"client_ip\": \"77.132.65.89\",\n \"created\": 1671833525,\n \ - \ \"livemode\": false,\n \"type\": \"bank_account\",\n \"used\": false\n\ - }"} - headers: - Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - Access-Control-Max-Age: ['300'] - Cache-Control: ['no-cache, no-store'] - Connection: [keep-alive] - Content-Length: ['574'] - Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:05 GMT'] - Idempotency-Key: [create_german_bank_account_token_2200] - Original-Request: [req_EVmPGd3n0fK0EQ] - Request-Id: [req_EVmPGd3n0fK0EQ] - Server: [nginx] - Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Should-Retry: ['false'] - Stripe-Version: ['2019-08-14'] - status: {code: 200, message: OK} - request: body: bank_account[country]=CH&bank_account[currency]=CHF&bank_account[account_number]=CH9300762011623852957&bank_account[account_holder_name]=Foo+Bar headers: {} method: POST uri: https://api.stripe.com/v1/tokens response: - body: {string: "{\n \"id\": \"btok_1MIJTGFk4eGpfLOCWLV8Nor0\",\n \"object\"\ - : \"token\",\n \"bank_account\": {\n \"id\": \"ba_1MIJTGFk4eGpfLOCLGdbMvKA\"\ + body: {string: "{\n \"id\": \"btok_1QUVA2Fk4eGpfLOCwyJ8h4je\",\n \"object\"\ + : \"token\",\n \"bank_account\": {\n \"id\": \"ba_1QUVA2Fk4eGpfLOCpDULasQc\"\ ,\n \"object\": \"bank_account\",\n \"account_holder_name\": \"Foo Bar\"\ ,\n \"account_holder_type\": null,\n \"account_type\": null,\n \"\ bank_name\": \"STRIPE TEST BANK\",\n \"country\": \"CH\",\n \"currency\"\ : \"chf\",\n \"fingerprint\": \"JIAY3PROGLCP57ES\",\n \"last4\": \"\ 2957\",\n \"routing_number\": \"110000000\",\n \"status\": \"new\"\n\ - \ },\n \"client_ip\": \"77.132.65.89\",\n \"created\": 1671833526,\n \"\ + \ },\n \"client_ip\": \"84.6.168.90\",\n \"created\": 1733843742,\n \"\ livemode\": false,\n \"type\": \"bank_account\",\n \"used\": false\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['573'] + Content-Length: ['572'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:06 GMT'] - Idempotency-Key: [create_swiss_bank_account_token_2200] - Original-Request: [req_px6McipLXi09ex] - Request-Id: [req_px6McipLXi09ex] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:42 GMT'] + Idempotency-Key: [create_swiss_bank_account_token_2100] + Original-Request: [req_YDbmTBMWar7T2W] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_YDbmTBMWar7T2W] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: account[business_type]=individual&account[individual][address][country]=CH&account[individual][address][city]=Bern&account[individual][address][postal_code]=3000&account[individual][address][line1]=address_full_match&account[individual][dob][day]=1&account[individual][dob][month]=1&account[individual][dob][year]=1901&account[individual][email]=test-swiss-1%40liberapay.com&account[individual][first_name]=Foo&account[individual][last_name]=Bar&account[individual][id_number]=000000000&account[individual][phone]=%2B41665554433&account[tos_shown_and_accepted]=True @@ -76,962 +51,1182 @@ interactions: method: POST uri: https://api.stripe.com/v1/tokens response: - body: {string: "{\n \"id\": \"ct_1MIJTGFk4eGpfLOCjYKztGDN\",\n \"object\": \"\ - token\",\n \"client_ip\": \"77.132.65.89\",\n \"created\": 1671833526,\n\ + body: {string: "{\n \"id\": \"ct_1QUVA3Fk4eGpfLOCC7WhNBVg\",\n \"object\": \"\ + token\",\n \"client_ip\": \"84.6.168.90\",\n \"created\": 1733843743,\n\ \ \"livemode\": false,\n \"type\": \"account\",\n \"used\": false\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['177'] + Content-Length: ['176'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:06 GMT'] - Idempotency-Key: [create_swiss_account_token_2200] - Original-Request: [req_J9RhLdisM3jiiR] - Request-Id: [req_J9RhLdisM3jiiR] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:43 GMT'] + Idempotency-Key: [create_swiss_account_token_2100] + Original-Request: [req_aH8rMy94AdlkYs] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_aH8rMy94AdlkYs] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: account_token=ct_1MIJTGFk4eGpfLOCjYKztGDN&country=CH&type=custom&business_profile[mcc]=5734&business_profile[url]=https%3A%2F%2Fliberapay.com%2F&capabilities[card_payments][requested]=True&capabilities[sepa_debit_payments][requested]=True&capabilities[transfers][requested]=True&external_account=btok_1MIJTGFk4eGpfLOCWLV8Nor0 + body: account_token=ct_1QUVA3Fk4eGpfLOCC7WhNBVg&country=CH&type=custom&business_profile[mcc]=5734&business_profile[url]=https%3A%2F%2Fliberapay.com%2F&capabilities[card_payments][requested]=True&capabilities[sepa_debit_payments][requested]=True&capabilities[transfers][requested]=True&external_account=btok_1QUVA2Fk4eGpfLOCwyJ8h4je headers: {} method: POST uri: https://api.stripe.com/v1/accounts response: - body: {string: "{\n \"id\": \"acct_1MIJTGFsLJG8wY8M\",\n \"object\": \"account\"\ - ,\n \"business_profile\": {\n \"mcc\": \"5734\",\n \"name\": null,\n\ - \ \"product_description\": null,\n \"support_address\": null,\n \"\ - support_email\": null,\n \"support_phone\": null,\n \"support_url\"\ - : null,\n \"url\": \"https://liberapay.com/\"\n },\n \"business_type\"\ - : \"individual\",\n \"capabilities\": {\n \"card_payments\": \"active\"\ - ,\n \"sepa_debit_payments\": \"active\",\n \"transfers\": \"active\"\ - \n },\n \"charges_enabled\": true,\n \"company\": {\n \"address\": {\n\ - \ \"city\": \"Bern\",\n \"country\": \"CH\",\n \"line1\": \"\ - address_full_match\",\n \"line2\": null,\n \"postal_code\": \"3000\"\ - ,\n \"state\": null\n },\n \"directors_provided\": true,\n \"\ - executives_provided\": true,\n \"name\": null,\n \"owners_provided\"\ + body: {string: "{\n \"id\": \"acct_1QUVA3Fw8sDQhJMt\",\n \"object\": \"account\"\ + ,\n \"business_profile\": {\n \"annual_revenue\": null,\n \"estimated_worker_count\"\ + : null,\n \"mcc\": \"5734\",\n \"name\": null,\n \"product_description\"\ + : null,\n \"support_address\": null,\n \"support_email\": null,\n \ + \ \"support_phone\": null,\n \"support_url\": null,\n \"url\": \"https://liberapay.com/\"\ + \n },\n \"business_type\": \"individual\",\n \"capabilities\": {\n \"\ + card_payments\": \"active\",\n \"sepa_debit_payments\": \"active\",\n \ + \ \"transfers\": \"active\"\n },\n \"charges_enabled\": true,\n \"company\"\ + : {\n \"address\": {\n \"city\": \"Bern\",\n \"country\": \"\ + CH\",\n \"line1\": \"address_full_match\",\n \"line2\": null,\n\ + \ \"postal_code\": \"3000\",\n \"state\": null\n },\n \"directors_provided\"\ + : true,\n \"executives_provided\": true,\n \"name\": null,\n \"owners_provided\"\ : true,\n \"phone\": \"+41665554433\",\n \"tax_id_provided\": false,\n\ \ \"verification\": {\n \"document\": {\n \"back\": null,\n\ \ \"details\": null,\n \"details_code\": null,\n \"front\"\ - : null\n }\n }\n },\n \"country\": \"CH\",\n \"created\": 1671833528,\n\ - \ \"default_currency\": \"chf\",\n \"details_submitted\": true,\n \"email\"\ - : null,\n \"external_accounts\": {\n \"object\": \"list\",\n \"data\"\ - : [\n {\n \"id\": \"ba_1MIJTHFsLJG8wY8MzhzuosJl\",\n \"\ - object\": \"bank_account\",\n \"account\": \"acct_1MIJTGFsLJG8wY8M\"\ + : null\n }\n }\n },\n \"controller\": {\n \"fees\": {\n \ + \ \"payer\": \"application_custom\"\n },\n \"is_controller\": true,\n\ + \ \"losses\": {\n \"payments\": \"application\"\n },\n \"requirement_collection\"\ + : \"application\",\n \"stripe_dashboard\": {\n \"type\": \"none\"\n\ + \ },\n \"type\": \"application\"\n },\n \"country\": \"CH\",\n \"\ + created\": 1733843746,\n \"default_currency\": \"chf\",\n \"details_submitted\"\ + : true,\n \"email\": null,\n \"external_accounts\": {\n \"object\": \"\ + list\",\n \"data\": [\n {\n \"id\": \"ba_1QUVA3Fw8sDQhJMt0vh5UOEL\"\ + ,\n \"object\": \"bank_account\",\n \"account\": \"acct_1QUVA3Fw8sDQhJMt\"\ ,\n \"account_holder_name\": \"Foo Bar\",\n \"account_holder_type\"\ : null,\n \"account_type\": null,\n \"available_payout_methods\"\ : [\n \"standard\"\n ],\n \"bank_name\": \"STRIPE TEST\ \ BANK\",\n \"country\": \"CH\",\n \"currency\": \"chf\",\n\ \ \"default_for_currency\": true,\n \"fingerprint\": \"JIAY3PROGLCP57ES\"\ - ,\n \"last4\": \"2957\",\n \"metadata\": {},\n \"routing_number\"\ - : \"110000000\",\n \"status\": \"new\"\n }\n ],\n \"has_more\"\ - : false,\n \"total_count\": 1,\n \"url\": \"/v1/accounts/acct_1MIJTGFsLJG8wY8M/external_accounts\"\ + ,\n \"future_requirements\": {\n \"currently_due\": [],\n\ + \ \"errors\": [],\n \"past_due\": [],\n \"pending_verification\"\ + : []\n },\n \"last4\": \"2957\",\n \"metadata\": {},\n\ + \ \"requirements\": {\n \"currently_due\": [],\n \ + \ \"errors\": [],\n \"past_due\": [],\n \"pending_verification\"\ + : []\n },\n \"routing_number\": \"110000000\",\n \"status\"\ + : \"new\"\n }\n ],\n \"has_more\": false,\n \"total_count\"\ + : 1,\n \"url\": \"/v1/accounts/acct_1QUVA3Fw8sDQhJMt/external_accounts\"\ \n },\n \"future_requirements\": {\n \"alternatives\": [],\n \"current_deadline\"\ : null,\n \"currently_due\": [],\n \"disabled_reason\": null,\n \"\ errors\": [],\n \"eventually_due\": [],\n \"past_due\": [],\n \"\ - pending_verification\": []\n },\n \"individual\": {\n \"id\": \"person_1MIJTHFsLJG8wY8MnzJ2yRuo\"\ - ,\n \"object\": \"person\",\n \"account\": \"acct_1MIJTGFsLJG8wY8M\"\ + pending_verification\": []\n },\n \"individual\": {\n \"id\": \"person_1QUVA4Fw8sDQhJMtmNBOo3Yd\"\ + ,\n \"object\": \"person\",\n \"account\": \"acct_1QUVA3Fw8sDQhJMt\"\ ,\n \"address\": {\n \"city\": \"Bern\",\n \"country\": \"CH\"\ ,\n \"line1\": \"address_full_match\",\n \"line2\": null,\n \ \ \"postal_code\": \"3000\",\n \"state\": null\n },\n \"created\"\ - : 1671833527,\n \"dob\": {\n \"day\": 1,\n \"month\": 1,\n \ + : 1733843745,\n \"dob\": {\n \"day\": 1,\n \"month\": 1,\n \ \ \"year\": 1901\n },\n \"email\": \"test-swiss-1@liberapay.com\"\ ,\n \"first_name\": \"Foo\",\n \"future_requirements\": {\n \"\ alternatives\": [],\n \"currently_due\": [],\n \"errors\": [],\n\ \ \"eventually_due\": [],\n \"past_due\": [],\n \"pending_verification\"\ : []\n },\n \"id_number_provided\": true,\n \"last_name\": \"Bar\"\ ,\n \"metadata\": {},\n \"phone\": \"+41665554433\",\n \"relationship\"\ - : {\n \"account_opener\": true,\n \"director\": false,\n \"\ - executive\": false,\n \"owner\": false,\n \"percent_ownership\"\ - : null,\n \"representative\": true,\n \"title\": null\n },\n\ - \ \"requirements\": {\n \"alternatives\": [],\n \"currently_due\"\ - : [],\n \"errors\": [],\n \"eventually_due\": [],\n \"past_due\"\ - : [],\n \"pending_verification\": []\n },\n \"ssn_last_4_provided\"\ - : true,\n \"verification\": {\n \"additional_document\": {\n \ - \ \"back\": null,\n \"details\": null,\n \"details_code\"\ - : null,\n \"front\": null\n },\n \"details\": null,\n \ - \ \"details_code\": null,\n \"document\": {\n \"back\": null,\n\ - \ \"details\": null,\n \"details_code\": null,\n \"front\"\ - : null\n },\n \"status\": \"pending\"\n }\n },\n \"metadata\"\ - : {},\n \"payouts_enabled\": true,\n \"requirements\": {\n \"alternatives\"\ - : [],\n \"current_deadline\": null,\n \"currently_due\": [],\n \"\ - disabled_reason\": null,\n \"errors\": [],\n \"eventually_due\": [],\n\ - \ \"past_due\": [],\n \"pending_verification\": []\n },\n \"settings\"\ - : {\n \"bacs_debit_payments\": {},\n \"branding\": {\n \"icon\"\ - : null,\n \"logo\": null,\n \"primary_color\": null,\n \"secondary_color\"\ - : null\n },\n \"card_issuing\": {\n \"tos_acceptance\": {\n \ - \ \"date\": null,\n \"ip\": null\n }\n },\n \"card_payments\"\ - : {\n \"decline_on\": {\n \"avs_failure\": false,\n \"\ - cvc_failure\": false\n },\n \"statement_descriptor_prefix\": null,\n\ - \ \"statement_descriptor_prefix_kana\": null,\n \"statement_descriptor_prefix_kanji\"\ + : {\n \"account_opener\": true,\n \"authorizer\": false,\n \ + \ \"director\": false,\n \"executive\": false,\n \"legal_guardian\"\ + : false,\n \"owner\": false,\n \"percent_ownership\": null,\n \ + \ \"representative\": true,\n \"title\": null\n },\n \"requirements\"\ + : {\n \"alternatives\": [],\n \"currently_due\": [],\n \"errors\"\ + : [],\n \"eventually_due\": [],\n \"past_due\": [],\n \"pending_verification\"\ + : []\n },\n \"ssn_last_4_provided\": true,\n \"verification\": {\n\ + \ \"additional_document\": {\n \"back\": null,\n \"details\"\ + : null,\n \"details_code\": null,\n \"front\": null\n },\n\ + \ \"details\": null,\n \"details_code\": null,\n \"document\"\ + : {\n \"back\": null,\n \"details\": null,\n \"details_code\"\ + : null,\n \"front\": null\n },\n \"status\": \"pending\"\n\ + \ }\n },\n \"metadata\": {},\n \"payouts_enabled\": true,\n \"requirements\"\ + : {\n \"alternatives\": [],\n \"current_deadline\": null,\n \"currently_due\"\ + : [],\n \"disabled_reason\": null,\n \"errors\": [],\n \"eventually_due\"\ + : [],\n \"past_due\": [],\n \"pending_verification\": []\n },\n \"\ + settings\": {\n \"bacs_debit_payments\": {\n \"display_name\": null,\n\ + \ \"service_user_number\": null\n },\n \"branding\": {\n \"\ + icon\": null,\n \"logo\": null,\n \"primary_color\": null,\n \ + \ \"secondary_color\": null\n },\n \"card_issuing\": {\n \"tos_acceptance\"\ + : {\n \"date\": null,\n \"ip\": null\n }\n },\n \"\ + card_payments\": {\n \"decline_on\": {\n \"avs_failure\": false,\n\ + \ \"cvc_failure\": false\n },\n \"statement_descriptor_prefix\"\ + : null,\n \"statement_descriptor_prefix_kana\": null,\n \"statement_descriptor_prefix_kanji\"\ : null\n },\n \"dashboard\": {\n \"display_name\": \"Liberapay\"\ - ,\n \"timezone\": \"Etc/UTC\"\n },\n \"payments\": {\n \"\ - statement_descriptor\": \"LIBERAPAY.COM\",\n \"statement_descriptor_kana\"\ - : null,\n \"statement_descriptor_kanji\": null\n },\n \"payouts\"\ - : {\n \"debit_negative_balances\": false,\n \"schedule\": {\n \ - \ \"delay_days\": 7,\n \"interval\": \"daily\"\n },\n \ - \ \"statement_descriptor\": null\n },\n \"sepa_debit_payments\": {}\n\ - \ },\n \"tos_acceptance\": {\n \"date\": 1671833526,\n \"ip\": \"\ - 77.132.65.89\",\n \"user_agent\": \"Stripe/v1 PythonBindings/2.35.1\"\n\ - \ },\n \"type\": \"custom\"\n}"} + ,\n \"timezone\": \"Etc/UTC\"\n },\n \"invoices\": {\n \"\ + default_account_tax_ids\": null\n },\n \"payments\": {\n \"statement_descriptor\"\ + : \"LIBERAPAY.COM\",\n \"statement_descriptor_kana\": null,\n \"\ + statement_descriptor_kanji\": null\n },\n \"payouts\": {\n \"debit_negative_balances\"\ + : false,\n \"schedule\": {\n \"delay_days\": 7,\n \"interval\"\ + : \"daily\"\n },\n \"statement_descriptor\": null\n },\n \"\ + sepa_debit_payments\": {}\n },\n \"tos_acceptance\": {\n \"date\": 1733843743,\n\ + \ \"ip\": \"84.6.168.90\",\n \"user_agent\": \"Stripe/v1 PythonBindings/11.1.1\"\ + \n },\n \"type\": \"custom\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['5137'] + Content-Length: ['5992'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:09 GMT'] - Idempotency-Key: [create_swiss_account_2200] - Original-Request: [req_ihMf8OvNZIjhyG] - Request-Id: [req_ihMf8OvNZIjhyG] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:49 GMT'] + Idempotency-Key: [create_swiss_account_2100] + Original-Request: [req_DujoonBysadvNu] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_DujoonBysadvNu] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/tokens/tok_visa + uri: https://api.stripe.com/v1/payment_methods/pm_card_visa response: - body: {string: "{\n \"id\": \"tok_1MIJTKFk4eGpfLOC0afAmKov\",\n \"object\":\ - \ \"token\",\n \"card\": {\n \"id\": \"card_1MIJTKFk4eGpfLOCXxutaCTJ\"\ - ,\n \"object\": \"card\",\n \"address_city\": null,\n \"address_country\"\ - : null,\n \"address_line1\": null,\n \"address_line1_check\": null,\n\ - \ \"address_line2\": null,\n \"address_state\": null,\n \"address_zip\"\ - : null,\n \"address_zip_check\": null,\n \"brand\": \"Visa\",\n \"\ - country\": \"US\",\n \"currency\": \"usd\",\n \"cvc_check\": null,\n\ - \ \"dynamic_last4\": null,\n \"exp_month\": 12,\n \"exp_year\": 2023,\n\ - \ \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\",\n\ - \ \"last4\": \"4242\",\n \"metadata\": {},\n \"name\": null,\n \ - \ \"tokenization_method\": null\n },\n \"client_ip\": null,\n \"created\"\ - : 1671833530,\n \"livemode\": false,\n \"type\": \"card\",\n \"used\":\ - \ false\n}"} + body: {string: "{\n \"id\": \"pm_1QUVA9Fk4eGpfLOC9x7AFbxq\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": null,\n \"name\": null,\n\ + \ \"phone\": null\n },\n \"card\": {\n \"brand\": \"visa\",\n \"\ + checks\": {\n \"address_line1_check\": null,\n \"address_postal_code_check\"\ + : null,\n \"cvc_check\": \"unchecked\"\n },\n \"country\": \"US\"\ + ,\n \"display_brand\": \"visa\",\n \"exp_month\": 12,\n \"exp_year\"\ + : 2025,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ + ,\n \"generated_from\": null,\n \"last4\": \"4242\",\n \"networks\"\ + : {\n \"available\": [\n \"visa\"\n ],\n \"preferred\"\ + : null\n },\n \"three_d_secure_usage\": {\n \"supported\": true\n\ + \ },\n \"wallet\": null\n },\n \"created\": 1733843749,\n \"customer\"\ + : null,\n \"livemode\": false,\n \"metadata\": {},\n \"type\": \"card\"\ + \n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['785'] + Content-Length: ['996'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:10 GMT'] - Request-Id: [req_NEPQVhXVFUUinj] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:49 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_JaTayWGt3UKHbN] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: owner[email]=donor%40example.com&redirect[return_url]=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2Fcomplete&token=tok_1MIJTKFk4eGpfLOC0afAmKov&type=card&usage=reusable + body: email=donor%40example.com&metadata[participant_id]=2110&payment_method=pm_1QUVA9Fk4eGpfLOC9x7AFbxq&preferred_locales[0]=en headers: {} method: POST - uri: https://api.stripe.com/v1/sources + uri: https://api.stripe.com/v1/customers response: - body: {string: "{\n \"id\": \"src_1MIJTKFk4eGpfLOCB9lJFUgx\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"card\": {\n \"address_line1_check\"\ - : null,\n \"address_zip_check\": null,\n \"brand\": \"Visa\",\n \"\ - country\": \"US\",\n \"cvc_check\": null,\n \"dynamic_last4\": null,\n\ - \ \"exp_month\": 12,\n \"exp_year\": 2023,\n \"fingerprint\": \"\ - k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\",\n \"last4\": \"4242\"\ - ,\n \"name\": null,\n \"three_d_secure\": \"optional\",\n \"tokenization_method\"\ - : null\n },\n \"client_secret\": \"src_client_secret_63wp3YIZTjjtHOSf5fPELIti\"\ - ,\n \"created\": 1671833530,\n \"currency\": null,\n \"flow\": \"none\"\ - ,\n \"livemode\": false,\n \"metadata\": {},\n \"owner\": {\n \"address\"\ - : null,\n \"email\": \"donor@example.com\",\n \"name\": null,\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"statement_descriptor\"\ - : null,\n \"status\": \"chargeable\",\n \"type\": \"card\",\n \"usage\"\ - : \"reusable\"\n}"} + body: {string: "{\n \"id\": \"cus_RNFf2YD5tgxZrH\",\n \"object\": \"customer\"\ + ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ + created\": 1733843749,\n \"currency\": null,\n \"default_currency\": null,\n\ + \ \"default_source\": null,\n \"delinquent\": false,\n \"description\"\ + : null,\n \"discount\": null,\n \"email\": \"donor@example.com\",\n \"\ + invoice_prefix\": \"CF323CFE\",\n \"invoice_settings\": {\n \"custom_fields\"\ + : null,\n \"default_payment_method\": null,\n \"footer\": null,\n \ + \ \"rendering_options\": null\n },\n \"livemode\": false,\n \"metadata\"\ + : {\n \"participant_id\": \"2110\"\n },\n \"name\": null,\n \"next_invoice_sequence\"\ + : 1,\n \"phone\": null,\n \"preferred_locales\": [\n \"en\"\n ],\n \ + \ \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n \"\ + data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \"url\"\ + : \"/v1/customers/cus_RNFf2YD5tgxZrH/sources\"\n },\n \"subscriptions\"\ + : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ + \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_RNFf2YD5tgxZrH/subscriptions\"\ + \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ + list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ + : 0,\n \"url\": \"/v1/customers/cus_RNFf2YD5tgxZrH/tax_ids\"\n },\n \"\ + tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ + }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['955'] + Content-Length: ['1261'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:10 GMT'] - Idempotency-Key: [create_source_from_tok_1MIJTKFk4eGpfLOC0afAmKov] - Original-Request: [req_WnH0w2rYWV8zke] - Request-Id: [req_WnH0w2rYWV8zke] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:50 GMT'] + Idempotency-Key: [create_customer_for_participant_2110_with_pm_1QUVA9Fk4eGpfLOC9x7AFbxq] + Original-Request: [req_kZ8DwRmvY96jgf] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_kZ8DwRmvY96jgf] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: email=donor%40example.com&source=src_1MIJTKFk4eGpfLOCB9lJFUgx + body: amount=2499&confirm=True¤cy=eur&customer=cus_RNFf2YD5tgxZrH&description=Liberapay&metadata[payin_id]=2110&off_session=False&payment_method=pm_1QUVA9Fk4eGpfLOC9x7AFbxq&payment_method_types[0]=card&return_url=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2F2110&statement_descriptor=Liberapay+2110&setup_future_usage=off_session headers: {} method: POST - uri: https://api.stripe.com/v1/customers + uri: https://api.stripe.com/v1/payment_intents response: - body: {string: "{\n \"id\": \"cus_N2OFPE68ozKSRI\",\n \"object\": \"customer\"\ - ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ - created\": 1671833530,\n \"currency\": null,\n \"default_currency\": null,\n\ - \ \"default_source\": \"src_1MIJTKFk4eGpfLOCB9lJFUgx\",\n \"delinquent\"\ - : false,\n \"description\": null,\n \"discount\": null,\n \"email\": \"\ - donor@example.com\",\n \"invoice_prefix\": \"4E63E898\",\n \"invoice_settings\"\ - : {\n \"custom_fields\": null,\n \"default_payment_method\": null,\n\ - \ \"footer\": null,\n \"rendering_options\": null\n },\n \"livemode\"\ - : false,\n \"metadata\": {},\n \"name\": null,\n \"next_invoice_sequence\"\ - : 1,\n \"phone\": null,\n \"preferred_locales\": [],\n \"shipping\": null,\n\ - \ \"sources\": {\n \"object\": \"list\",\n \"data\": [\n {\n \ - \ \"id\": \"src_1MIJTKFk4eGpfLOCB9lJFUgx\",\n \"object\": \"\ - source\",\n \"amount\": null,\n \"card\": {\n \"address_line1_check\"\ - : null,\n \"address_zip_check\": null,\n \"brand\": \"Visa\"\ - ,\n \"country\": \"US\",\n \"cvc_check\": null,\n \ - \ \"dynamic_last4\": null,\n \"exp_month\": 12,\n \"\ - exp_year\": 2023,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \ - \ \"funding\": \"credit\",\n \"last4\": \"4242\",\n \ - \ \"name\": null,\n \"three_d_secure\": \"optional\",\n \ - \ \"tokenization_method\": null\n },\n \"client_secret\": \"\ - src_client_secret_63wp3YIZTjjtHOSf5fPELIti\",\n \"created\": 1671833530,\n\ - \ \"currency\": null,\n \"customer\": \"cus_N2OFPE68ozKSRI\"\ - ,\n \"flow\": \"none\",\n \"livemode\": false,\n \"metadata\"\ - : {},\n \"owner\": {\n \"address\": null,\n \"email\"\ - : \"donor@example.com\",\n \"name\": null,\n \"phone\":\ - \ null,\n \"verified_address\": null,\n \"verified_email\"\ - : null,\n \"verified_name\": null,\n \"verified_phone\"\ - : null\n },\n \"statement_descriptor\": null,\n \"status\"\ - : \"chargeable\",\n \"type\": \"card\",\n \"usage\": \"reusable\"\ - \n }\n ],\n \"has_more\": false,\n \"total_count\": 1,\n \ - \ \"url\": \"/v1/customers/cus_N2OFPE68ozKSRI/sources\"\n },\n \"subscriptions\"\ - : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ - \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_N2OFPE68ozKSRI/subscriptions\"\ - \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ - list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_N2OFPE68ozKSRI/tax_ids\"\n },\n \"\ - tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ + body: {string: "{\n \"id\": \"pi_3QUVAAFk4eGpfLOC0t6vA52W\",\n \"object\": \"\ + payment_intent\",\n \"amount\": 2499,\n \"amount_capturable\": 0,\n \"\ + amount_details\": {\n \"tip\": {}\n },\n \"amount_received\": 2499,\n\ + \ \"application\": null,\n \"application_fee_amount\": null,\n \"automatic_payment_methods\"\ + : null,\n \"canceled_at\": null,\n \"cancellation_reason\": null,\n \"\ + capture_method\": \"automatic\",\n \"charges\": {\n \"object\": \"list\"\ + ,\n \"data\": [\n {\n \"id\": \"ch_3QUVAAFk4eGpfLOC0kGOumF1\"\ + ,\n \"object\": \"charge\",\n \"amount\": 2499,\n \"\ + amount_captured\": 2499,\n \"amount_refunded\": 0,\n \"application\"\ + : null,\n \"application_fee\": null,\n \"application_fee_amount\"\ + : null,\n \"balance_transaction\": \"txn_3QUVAAFk4eGpfLOC0IP4keRG\"\ + ,\n \"billing_details\": {\n \"address\": {\n \"\ + city\": null,\n \"country\": null,\n \"line1\": null,\n\ + \ \"line2\": null,\n \"postal_code\": null,\n \ + \ \"state\": null\n },\n \"email\": null,\n \ + \ \"name\": null,\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ + : \"LIBERAPAY 2110\",\n \"captured\": true,\n \"created\": 1733843750,\n\ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFf2YD5tgxZrH\"\ + ,\n \"description\": \"Liberapay\",\n \"destination\": null,\n\ + \ \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ + : null,\n \"failure_code\": null,\n \"failure_message\": null,\n\ + \ \"fraud_details\": {},\n \"invoice\": null,\n \"livemode\"\ + : false,\n \"metadata\": {\n \"payin_id\": \"2110\"\n \ + \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \ + \ \"outcome\": {\n \"network_advice_code\": null,\n \"\ + network_decline_code\": null,\n \"network_status\": \"approved_by_network\"\ + ,\n \"reason\": null,\n \"risk_level\": \"normal\",\n \ + \ \"risk_score\": 28,\n \"seller_message\": \"Payment complete.\"\ + ,\n \"type\": \"authorized\"\n },\n \"paid\": true,\n\ + \ \"payment_intent\": \"pi_3QUVAAFk4eGpfLOC0t6vA52W\",\n \"\ + payment_method\": \"pm_1QUVA9Fk4eGpfLOC9x7AFbxq\",\n \"payment_method_details\"\ + : {\n \"card\": {\n \"amount_authorized\": 2499,\n \ + \ \"authorization_code\": null,\n \"brand\": \"visa\",\n\ + \ \"checks\": {\n \"address_line1_check\": null,\n\ + \ \"address_postal_code_check\": null,\n \"cvc_check\"\ + : \"pass\"\n },\n \"country\": \"US\",\n \ + \ \"exp_month\": 12,\n \"exp_year\": 2025,\n \"extended_authorization\"\ + : {\n \"status\": \"disabled\"\n },\n \"\ + fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ + ,\n \"incremental_authorization\": {\n \"status\"\ + : \"unavailable\"\n },\n \"installments\": null,\n \ + \ \"last4\": \"4242\",\n \"mandate\": null,\n \ + \ \"multicapture\": {\n \"status\": \"unavailable\"\n \ + \ },\n \"network\": \"visa\",\n \"network_token\"\ + : {\n \"used\": false\n },\n \"overcapture\"\ + : {\n \"maximum_amount_capturable\": 2499,\n \"\ + status\": \"unavailable\"\n },\n \"three_d_secure\"\ + : null,\n \"wallet\": null\n },\n \"type\": \"\ + card\"\n },\n \"radar_options\": {},\n \"receipt_email\"\ + : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKKe24boGMgbrGod21046LBZI7vR-JfqTeUFCgdf1R3JdFc-_fLxZiixcyqc7TrZBaj_2X3WUAcnDLKOK\"\ + ,\n \"refunded\": false,\n \"refunds\": {\n \"object\"\ + : \"list\",\n \"data\": [],\n \"has_more\": false,\n \ + \ \"total_count\": 0,\n \"url\": \"/v1/charges/ch_3QUVAAFk4eGpfLOC0kGOumF1/refunds\"\ + \n },\n \"review\": null,\n \"shipping\": null,\n \ + \ \"source\": null,\n \"source_transfer\": null,\n \"statement_descriptor\"\ + : \"Liberapay 2110\",\n \"statement_descriptor_suffix\": null,\n \ + \ \"status\": \"succeeded\",\n \"transfer_data\": null,\n \ + \ \"transfer_group\": null\n }\n ],\n \"has_more\": false,\n\ + \ \"total_count\": 1,\n \"url\": \"/v1/charges?payment_intent=pi_3QUVAAFk4eGpfLOC0t6vA52W\"\ + \n },\n \"client_secret\": \"pi_3QUVAAFk4eGpfLOC0t6vA52W_secret_pRkmgr8ymjk91mBK9GzWXiQqa\"\ + ,\n \"confirmation_method\": \"automatic\",\n \"created\": 1733843750,\n\ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFf2YD5tgxZrH\",\n \"description\"\ + : \"Liberapay\",\n \"invoice\": null,\n \"last_payment_error\": null,\n\ + \ \"latest_charge\": \"ch_3QUVAAFk4eGpfLOC0kGOumF1\",\n \"livemode\": false,\n\ + \ \"metadata\": {\n \"payin_id\": \"2110\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUVA9Fk4eGpfLOC9x7AFbxq\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {\n \"card\": {\n \"installments\": null,\n \"mandate_options\"\ + : null,\n \"network\": null,\n \"request_three_d_secure\": \"automatic\"\ + \n }\n },\n \"payment_method_types\": [\n \"card\"\n ],\n \"processing\"\ + : null,\n \"receipt_email\": null,\n \"review\": null,\n \"setup_future_usage\"\ + : \"off_session\",\n \"shipping\": null,\n \"source\": null,\n \"statement_descriptor\"\ + : \"Liberapay 2110\",\n \"statement_descriptor_suffix\": null,\n \"status\"\ + : \"succeeded\",\n \"transfer_data\": null,\n \"transfer_group\": null\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['2492'] + Content-Length: ['5350'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:11 GMT'] - Idempotency-Key: [create_customer_for_participant_2210_with_src_1MIJTKFk4eGpfLOCB9lJFUgx] - Original-Request: [req_nOkHeiBUCZK2dn] - Request-Id: [req_nOkHeiBUCZK2dn] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:51 GMT'] + Idempotency-Key: [payin_intent_2110] + Original-Request: [req_CjRhK4SqNfObK8] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_CjRhK4SqNfObK8] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=2499¤cy=eur&customer=cus_N2OFPE68ozKSRI&description=Liberapay&metadata[payin_id]=2210&source=src_1MIJTKFk4eGpfLOCB9lJFUgx&statement_descriptor=Liberapay+2210&expand[0]=balance_transaction + body: null headers: {} - method: POST - uri: https://api.stripe.com/v1/charges + method: GET + uri: https://api.stripe.com/v1/balance_transactions/txn_3QUVAAFk4eGpfLOC0IP4keRG response: - body: {string: "{\n \"id\": \"ch_3MIJTLFk4eGpfLOC1tEoF4yw\",\n \"object\": \"\ - charge\",\n \"amount\": 2499,\n \"amount_captured\": 2499,\n \"amount_refunded\"\ - : 0,\n \"application\": null,\n \"application_fee\": null,\n \"application_fee_amount\"\ - : null,\n \"balance_transaction\": {\n \"id\": \"txn_3MIJTLFk4eGpfLOC1LFWC23L\"\ - ,\n \"object\": \"balance_transaction\",\n \"amount\": 2499,\n \"\ - available_on\": 1672272000,\n \"created\": 1671833531,\n \"currency\"\ - : \"eur\",\n \"description\": \"Liberapay\",\n \"exchange_rate\": null,\n\ - \ \"fee\": 97,\n \"fee_details\": [\n {\n \"amount\": 97,\n\ - \ \"application\": null,\n \"currency\": \"eur\",\n \"\ - description\": \"Stripe processing fees\",\n \"type\": \"stripe_fee\"\ - \n }\n ],\n \"net\": 2402,\n \"reporting_category\": \"charge\"\ - ,\n \"source\": \"ch_3MIJTLFk4eGpfLOC1tEoF4yw\",\n \"status\": \"pending\"\ - ,\n \"type\": \"charge\"\n },\n \"billing_details\": {\n \"address\"\ - : {\n \"city\": null,\n \"country\": null,\n \"line1\": null,\n\ - \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ - \ },\n \"email\": \"donor@example.com\",\n \"name\": null,\n \"\ - phone\": null\n },\n \"calculated_statement_descriptor\": \"LIBERAPAY* LIBERAPAY\ - \ 2\",\n \"captured\": true,\n \"created\": 1671833531,\n \"currency\"\ - : \"eur\",\n \"customer\": \"cus_N2OFPE68ozKSRI\",\n \"description\": \"\ - Liberapay\",\n \"destination\": null,\n \"dispute\": null,\n \"disputed\"\ - : false,\n \"failure_balance_transaction\": null,\n \"failure_code\": null,\n\ - \ \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\": null,\n\ - \ \"livemode\": false,\n \"metadata\": {\n \"payin_id\": \"2210\"\n \ - \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \"outcome\": {\n \ - \ \"network_status\": \"approved_by_network\",\n \"reason\": null,\n \ - \ \"risk_level\": \"normal\",\n \"risk_score\": 12,\n \"seller_message\"\ - : \"Payment complete.\",\n \"type\": \"authorized\"\n },\n \"paid\":\ - \ true,\n \"payment_intent\": null,\n \"payment_method\": \"src_1MIJTKFk4eGpfLOCB9lJFUgx\"\ - ,\n \"payment_method_details\": {\n \"card\": {\n \"brand\": \"visa\"\ - ,\n \"checks\": {\n \"address_line1_check\": null,\n \"\ - address_postal_code_check\": null,\n \"cvc_check\": null\n },\n\ - \ \"country\": \"US\",\n \"exp_month\": 12,\n \"exp_year\"\ - : 2023,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\":\ - \ \"credit\",\n \"installments\": null,\n \"last4\": \"4242\",\n\ - \ \"mandate\": null,\n \"network\": \"visa\",\n \"three_d_secure\"\ - : null,\n \"wallet\": null\n },\n \"type\": \"card\"\n },\n \"\ - receipt_email\": null,\n \"receipt_number\": null,\n \"receipt_url\": \"\ - https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKLzPmJ0GMgbyKxcFlkE6LBb221X9n_94wVLiIMaouWdQN26yWt4mea-dxlZ56Aq5Hi-WjiAlnPSfxN3r\"\ - ,\n \"refunded\": false,\n \"refunds\": {\n \"object\": \"list\",\n \ - \ \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \ - \ \"url\": \"/v1/charges/ch_3MIJTLFk4eGpfLOC1tEoF4yw/refunds\"\n },\n \"\ - review\": null,\n \"shipping\": null,\n \"source\": {\n \"id\": \"src_1MIJTKFk4eGpfLOCB9lJFUgx\"\ - ,\n \"object\": \"source\",\n \"amount\": null,\n \"card\": {\n \ - \ \"address_line1_check\": null,\n \"address_zip_check\": null,\n\ - \ \"brand\": \"Visa\",\n \"country\": \"US\",\n \"cvc_check\"\ - : null,\n \"dynamic_last4\": null,\n \"exp_month\": 12,\n \"\ - exp_year\": 2023,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"\ - funding\": \"credit\",\n \"last4\": \"4242\",\n \"name\": null,\n\ - \ \"three_d_secure\": \"optional\",\n \"tokenization_method\": null\n\ - \ },\n \"client_secret\": \"src_client_secret_63wp3YIZTjjtHOSf5fPELIti\"\ - ,\n \"created\": 1671833532,\n \"currency\": null,\n \"customer\"\ - : \"cus_N2OFPE68ozKSRI\",\n \"flow\": \"none\",\n \"livemode\": false,\n\ - \ \"metadata\": {},\n \"owner\": {\n \"address\": null,\n \ - \ \"email\": \"donor@example.com\",\n \"name\": null,\n \"phone\"\ - : null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n\ - \ \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n \ - \ \"type\": \"card\",\n \"usage\": \"reusable\"\n },\n \"source_transfer\"\ - : null,\n \"statement_descriptor\": \"Liberapay 2210\",\n \"statement_descriptor_suffix\"\ - : \"Liberapay 2210\",\n \"status\": \"succeeded\",\n \"transfer_data\":\ - \ null,\n \"transfer_group\": null\n}"} + body: {string: "{\n \"id\": \"txn_3QUVAAFk4eGpfLOC0IP4keRG\",\n \"object\":\ + \ \"balance_transaction\",\n \"amount\": 2499,\n \"available_on\": 1734048000,\n\ + \ \"created\": 1733843750,\n \"currency\": \"eur\",\n \"description\":\ + \ \"Liberapay\",\n \"exchange_rate\": null,\n \"fee\": 106,\n \"fee_details\"\ + : [\n {\n \"amount\": 106,\n \"application\": null,\n \"\ + currency\": \"eur\",\n \"description\": \"Stripe processing fees\",\n\ + \ \"type\": \"stripe_fee\"\n }\n ],\n \"net\": 2393,\n \"reporting_category\"\ + : \"charge\",\n \"source\": \"ch_3QUVAAFk4eGpfLOC0kGOumF1\",\n \"status\"\ + : \"pending\",\n \"type\": \"charge\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['4149'] + Content-Length: ['558'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:12 GMT'] - Idempotency-Key: [payin_2210] - Original-Request: [req_e7DvtEYpTvVs0A] - Request-Id: [req_e7DvtEYpTvVs0A] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:51 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_PRL6aFZ8b9BfHZ] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: null + body: type=sepa_debit&billing_details[email]=jane.doe%40example.com&billing_details[name]=Jane+Doe&sepa_debit[iban]=DE89370400440532013000 headers: {} - method: GET - uri: https://api.stripe.com/v1/tokens/btok_1MIJTFFk4eGpfLOC9s4ykqK2 - response: - body: {string: "{\n \"id\": \"btok_1MIJTFFk4eGpfLOC9s4ykqK2\",\n \"object\"\ - : \"token\",\n \"bank_account\": {\n \"id\": \"ba_1MIJTFFk4eGpfLOCBTzJyP0o\"\ - ,\n \"object\": \"bank_account\",\n \"account_holder_name\": \"Jane\ - \ Doe\",\n \"account_holder_type\": null,\n \"account_type\": null,\n\ - \ \"bank_name\": \"STRIPE TEST BANK\",\n \"country\": \"DE\",\n \"\ - currency\": \"eur\",\n \"fingerprint\": \"vYeSfyBOnTdv1v6W\",\n \"last4\"\ - : \"3000\",\n \"routing_number\": \"110000000\",\n \"status\": \"new\"\ - \n },\n \"client_ip\": \"77.132.65.89\",\n \"created\": 1671833525,\n \ - \ \"livemode\": false,\n \"type\": \"bank_account\",\n \"used\": false\n\ + method: POST + uri: https://api.stripe.com/v1/payment_methods + response: + body: {string: "{\n \"id\": \"pm_1QUVABFk4eGpfLOCBfFhZiQR\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843751,\n\ + \ \"customer\": null,\n \"livemode\": false,\n \"metadata\": {},\n \"\ + sepa_debit\": {\n \"bank_code\": \"37040044\",\n \"branch_code\": \"\ + \",\n \"country\": \"DE\",\n \"fingerprint\": \"vifs0Ho7vwRn1Miu\",\n\ + \ \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"3000\"\n },\n \"type\": \"sepa_debit\"\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['574'] + Content-Length: ['714'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:13 GMT'] - Request-Id: [req_LQUXAEb1g8duee] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:51 GMT'] + Idempotency-Key: [create_german_sdd_pm_2120] + Original-Request: [req_MshOv37PmnYTl5] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_MshOv37PmnYTl5] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=5200&owner[email]=donor%40example.com&redirect[return_url]=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2Fcomplete&token=btok_1MIJTFFk4eGpfLOC9s4ykqK2&type=sepa_debit&usage=reusable + body: null headers: {} - method: POST - uri: https://api.stripe.com/v1/sources + method: GET + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVABFk4eGpfLOCBfFhZiQR response: - body: {string: "{\n \"id\": \"src_1MIJTNFk4eGpfLOCtBiCr9rb\",\n \"object\":\ - \ \"source\",\n \"amount\": 5200,\n \"client_secret\": \"src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - ,\n \"created\": 1671833533,\n \"currency\": \"eur\",\n \"flow\": \"none\"\ - ,\n \"livemode\": false,\n \"mandate\": {\n \"acceptance\": {\n \ - \ \"date\": null,\n \"ip\": null,\n \"offline\": null,\n \"\ - online\": null,\n \"status\": \"pending\",\n \"type\": null,\n \ - \ \"user_agent\": null\n },\n \"amount\": null,\n \"currency\"\ - : null,\n \"interval\": \"variable\",\n \"notification_method\": \"\ - none\",\n \"reference\": \"JZCCCJBJ5AYZSGME\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTNFk4eGpfLOCtBiCr9rb/src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"DE\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"37040044\",\n \"branch_code\": null,\n \"\ - country\": \"DE\",\n \"fingerprint\": \"VNz5BVW8XnYcq3XT\",\n \"last4\"\ - : \"3000\",\n \"mandate_reference\": \"JZCCCJBJ5AYZSGME\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTNFk4eGpfLOCtBiCr9rb/src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"pm_1QUVABFk4eGpfLOCBfFhZiQR\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843751,\n\ + \ \"customer\": null,\n \"livemode\": false,\n \"metadata\": {},\n \"\ + sepa_debit\": {\n \"bank_code\": \"37040044\",\n \"branch_code\": \"\ + \",\n \"country\": \"DE\",\n \"fingerprint\": \"vifs0Ho7vwRn1Miu\",\n\ + \ \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"3000\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1541'] + Content-Length: ['714'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:13 GMT'] - Idempotency-Key: [create_source_from_btok_1MIJTFFk4eGpfLOC9s4ykqK2] - Original-Request: [req_7cgTd3AW1QYRGm] - Request-Id: [req_7cgTd3AW1QYRGm] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:52 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_i6BwNoMkyZBQXU] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: email=donor%40example.com&source=src_1MIJTNFk4eGpfLOCtBiCr9rb + body: email=donor%40example.com&metadata[participant_id]=2120&payment_method=pm_1QUVABFk4eGpfLOCBfFhZiQR&preferred_locales[0]=en headers: {} method: POST uri: https://api.stripe.com/v1/customers response: - body: {string: "{\n \"id\": \"cus_N2OFGHy0Ij6nfr\",\n \"object\": \"customer\"\ + body: {string: "{\n \"id\": \"cus_RNFfwG9bNVLlvc\",\n \"object\": \"customer\"\ ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ - created\": 1671833533,\n \"currency\": null,\n \"default_currency\": null,\n\ - \ \"default_source\": \"src_1MIJTNFk4eGpfLOCtBiCr9rb\",\n \"delinquent\"\ - : false,\n \"description\": null,\n \"discount\": null,\n \"email\": \"\ - donor@example.com\",\n \"invoice_prefix\": \"E3BA6B0E\",\n \"invoice_settings\"\ - : {\n \"custom_fields\": null,\n \"default_payment_method\": null,\n\ - \ \"footer\": null,\n \"rendering_options\": null\n },\n \"livemode\"\ - : false,\n \"metadata\": {},\n \"name\": null,\n \"next_invoice_sequence\"\ - : 1,\n \"phone\": null,\n \"preferred_locales\": [],\n \"shipping\": null,\n\ - \ \"sources\": {\n \"object\": \"list\",\n \"data\": [\n {\n \ - \ \"id\": \"src_1MIJTNFk4eGpfLOCtBiCr9rb\",\n \"object\": \"\ - source\",\n \"amount\": 5200,\n \"client_secret\": \"src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - ,\n \"created\": 1671833533,\n \"currency\": \"eur\",\n \ - \ \"customer\": \"cus_N2OFGHy0Ij6nfr\",\n \"flow\": \"none\",\n\ - \ \"livemode\": false,\n \"mandate\": {\n \"acceptance\"\ - : {\n \"date\": null,\n \"ip\": null,\n \"\ - offline\": null,\n \"online\": null,\n \"status\": \"\ - pending\",\n \"type\": null,\n \"user_agent\": null\n\ - \ },\n \"amount\": null,\n \"currency\": null,\n\ - \ \"interval\": \"variable\",\n \"notification_method\"\ - : \"none\",\n \"reference\": \"JZCCCJBJ5AYZSGME\",\n \"\ - url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTNFk4eGpfLOCtBiCr9rb/src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"\ - address\": {\n \"city\": null,\n \"country\": \"DE\"\ - ,\n \"line1\": null,\n \"line2\": null,\n \ - \ \"postal_code\": null,\n \"state\": null\n },\n \ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\"\ - ,\n \"phone\": null,\n \"verified_address\": null,\n \ - \ \"verified_email\": null,\n \"verified_name\": null,\n \ - \ \"verified_phone\": null\n },\n \"sepa_debit\": {\n\ - \ \"bank_code\": \"37040044\",\n \"branch_code\": null,\n\ - \ \"country\": \"DE\",\n \"fingerprint\": \"VNz5BVW8XnYcq3XT\"\ - ,\n \"last4\": \"3000\",\n \"mandate_reference\": \"JZCCCJBJ5AYZSGME\"\ - ,\n \"mandate_url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTNFk4eGpfLOCtBiCr9rb/src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - \n },\n \"statement_descriptor\": null,\n \"status\"\ - : \"chargeable\",\n \"type\": \"sepa_debit\",\n \"usage\": \"\ - reusable\"\n }\n ],\n \"has_more\": false,\n \"total_count\"\ - : 1,\n \"url\": \"/v1/customers/cus_N2OFGHy0Ij6nfr/sources\"\n },\n \"\ - subscriptions\": {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\"\ - : false,\n \"total_count\": 0,\n \"url\": \"/v1/customers/cus_N2OFGHy0Ij6nfr/subscriptions\"\ + created\": 1733843752,\n \"currency\": null,\n \"default_currency\": null,\n\ + \ \"default_source\": null,\n \"delinquent\": false,\n \"description\"\ + : null,\n \"discount\": null,\n \"email\": \"donor@example.com\",\n \"\ + invoice_prefix\": \"AB2A6D12\",\n \"invoice_settings\": {\n \"custom_fields\"\ + : null,\n \"default_payment_method\": null,\n \"footer\": null,\n \ + \ \"rendering_options\": null\n },\n \"livemode\": false,\n \"metadata\"\ + : {\n \"participant_id\": \"2120\"\n },\n \"name\": null,\n \"next_invoice_sequence\"\ + : 1,\n \"phone\": null,\n \"preferred_locales\": [\n \"en\"\n ],\n \ + \ \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n \"\ + data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \"url\"\ + : \"/v1/customers/cus_RNFfwG9bNVLlvc/sources\"\n },\n \"subscriptions\"\ + : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ + \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_RNFfwG9bNVLlvc/subscriptions\"\ \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_N2OFGHy0Ij6nfr/tax_ids\"\n },\n \"\ + : 0,\n \"url\": \"/v1/customers/cus_RNFfwG9bNVLlvc/tax_ids\"\n },\n \"\ tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['3180'] + Content-Length: ['1261'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:14 GMT'] - Idempotency-Key: [create_customer_for_participant_2220_with_src_1MIJTNFk4eGpfLOCtBiCr9rb] - Original-Request: [req_XOL4w1GRnhTL8G] - Request-Id: [req_XOL4w1GRnhTL8G] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:52 GMT'] + Idempotency-Key: [create_customer_for_participant_2120_with_pm_1QUVABFk4eGpfLOCBfFhZiQR] + Original-Request: [req_zbITKGi0NhNiCG] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_zbITKGi0NhNiCG] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=5200¤cy=eur&customer=cus_N2OFGHy0Ij6nfr&description=Liberapay&metadata[payin_id]=2220&source=src_1MIJTNFk4eGpfLOCtBiCr9rb&statement_descriptor=Liberapay+2220&expand[0]=balance_transaction + body: confirm=True&customer=cus_RNFfwG9bNVLlvc&mandate_data[customer_acceptance][type]=online&mandate_data[customer_acceptance][accepted_at]=1733843752&mandate_data[customer_acceptance][online][ip_address]=0.0.0.0&mandate_data[customer_acceptance][online][user_agent]=Pando-test-client%2F0.47&metadata[route_id]=102&payment_method=pm_1QUVABFk4eGpfLOCBfFhZiQR&payment_method_types[0]=sepa_debit&usage=off_session headers: {} method: POST - uri: https://api.stripe.com/v1/charges + uri: https://api.stripe.com/v1/setup_intents response: - body: {string: "{\n \"id\": \"py_1MIJTOFk4eGpfLOCMxKhjsXl\",\n \"object\": \"\ - charge\",\n \"amount\": 5200,\n \"amount_captured\": 5200,\n \"amount_refunded\"\ - : 0,\n \"application\": null,\n \"application_fee\": null,\n \"application_fee_amount\"\ - : null,\n \"balance_transaction\": null,\n \"billing_details\": {\n \"\ - address\": {\n \"city\": null,\n \"country\": \"DE\",\n \"\ - line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n \ - \ \"state\": null\n },\n \"email\": \"donor@example.com\",\n \"\ - name\": \"Jane Doe\",\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ - : null,\n \"captured\": true,\n \"created\": 1671833534,\n \"currency\"\ - : \"eur\",\n \"customer\": \"cus_N2OFGHy0Ij6nfr\",\n \"description\": \"\ - Liberapay\",\n \"destination\": null,\n \"dispute\": null,\n \"disputed\"\ - : false,\n \"failure_balance_transaction\": null,\n \"failure_code\": null,\n\ - \ \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\": null,\n\ - \ \"livemode\": false,\n \"metadata\": {\n \"payin_id\": \"2220\"\n \ - \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \"outcome\": {\n \ - \ \"network_status\": \"approved_by_network\",\n \"reason\": null,\n \ - \ \"risk_level\": \"not_assessed\",\n \"seller_message\": \"Payment complete.\"\ - ,\n \"type\": \"authorized\"\n },\n \"paid\": false,\n \"payment_intent\"\ - : null,\n \"payment_method\": \"src_1MIJTNFk4eGpfLOCtBiCr9rb\",\n \"payment_method_details\"\ - : {\n \"sepa_debit\": {\n \"bank_code\": \"37040044\",\n \"branch_code\"\ - : null,\n \"country\": \"DE\",\n \"fingerprint\": \"VNz5BVW8XnYcq3XT\"\ - ,\n \"last4\": \"3000\",\n \"mandate\": null\n },\n \"type\"\ - : \"sepa_debit\"\n },\n \"receipt_email\": null,\n \"receipt_number\":\ - \ null,\n \"receipt_url\": null,\n \"refunded\": false,\n \"refunds\":\ - \ {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ - \ \"total_count\": 0,\n \"url\": \"/v1/charges/py_1MIJTOFk4eGpfLOCMxKhjsXl/refunds\"\ - \n },\n \"review\": null,\n \"shipping\": null,\n \"source\": {\n \"\ - id\": \"src_1MIJTNFk4eGpfLOCtBiCr9rb\",\n \"object\": \"source\",\n \ - \ \"amount\": 5200,\n \"client_secret\": \"src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - ,\n \"created\": 1671833534,\n \"currency\": \"eur\",\n \"customer\"\ - : \"cus_N2OFGHy0Ij6nfr\",\n \"flow\": \"none\",\n \"livemode\": false,\n\ - \ \"mandate\": {\n \"acceptance\": {\n \"date\": null,\n \ - \ \"ip\": null,\n \"offline\": null,\n \"online\": null,\n\ - \ \"status\": \"pending\",\n \"type\": null,\n \"user_agent\"\ - : null\n },\n \"amount\": null,\n \"currency\": null,\n \ - \ \"interval\": \"variable\",\n \"notification_method\": \"none\",\n\ - \ \"reference\": \"JZCCCJBJ5AYZSGME\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTNFk4eGpfLOCtBiCr9rb/src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n\ - \ \"city\": null,\n \"country\": \"DE\",\n \"line1\"\ - : null,\n \"line2\": null,\n \"postal_code\": null,\n \ - \ \"state\": null\n },\n \"email\": \"donor@example.com\",\n \ - \ \"name\": \"Jane Doe\",\n \"phone\": null,\n \"verified_address\"\ - : null,\n \"verified_email\": null,\n \"verified_name\": null,\n\ - \ \"verified_phone\": null\n },\n \"sepa_debit\": {\n \"bank_code\"\ - : \"37040044\",\n \"branch_code\": null,\n \"country\": \"DE\",\n\ - \ \"fingerprint\": \"VNz5BVW8XnYcq3XT\",\n \"last4\": \"3000\",\n\ - \ \"mandate_reference\": \"JZCCCJBJ5AYZSGME\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTNFk4eGpfLOCtBiCr9rb/src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\"\ - ,\n \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n },\n \"\ - source_transfer\": null,\n \"statement_descriptor\": \"Liberapay 2220\",\n\ - \ \"statement_descriptor_suffix\": null,\n \"status\": \"pending\",\n \"\ - transfer_data\": null,\n \"transfer_group\": null\n}"} - headers: - Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - Access-Control-Max-Age: ['300'] - Cache-Control: ['no-cache, no-store'] - Connection: [keep-alive] - Content-Length: ['3707'] - Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:15 GMT'] - Idempotency-Key: [payin_2220] - Original-Request: [req_GT1jV1gZUbGShx] - Request-Id: [req_GT1jV1gZUbGShx] + body: {string: "{\n \"id\": \"seti_1QUVACFk4eGpfLOCwdZqf3ls\",\n \"object\"\ + : \"setup_intent\",\n \"application\": null,\n \"automatic_payment_methods\"\ + : null,\n \"cancellation_reason\": null,\n \"client_secret\": \"seti_1QUVACFk4eGpfLOCwdZqf3ls_secret_RNFf45qhQ37uB554a08z0Qvbap7EiBi\"\ + ,\n \"created\": 1733843752,\n \"customer\": \"cus_RNFfwG9bNVLlvc\",\n \ + \ \"description\": null,\n \"flow_directions\": null,\n \"last_setup_error\"\ + : null,\n \"latest_attempt\": \"setatt_1QUVACFk4eGpfLOCY5E9rR8j\",\n \"\ + livemode\": false,\n \"mandate\": \"mandate_1QUVACFk4eGpfLOCENoPT5dV\",\n\ + \ \"metadata\": {\n \"route_id\": \"102\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUVABFk4eGpfLOCBfFhZiQR\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {},\n \"payment_method_types\": [\n \"sepa_debit\"\n ],\n \"single_use_mandate\"\ + : null,\n \"status\": \"succeeded\",\n \"usage\": \"off_session\"\n}"} + headers: + 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'] + Connection: [keep-alive] + Content-Length: ['869'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] + Content-Type: [application/json] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:52 GMT'] + Idempotency-Key: [create_SI_for_route_102] + Original-Request: [req_N5mncl4ikLj0dc] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_N5mncl4ikLj0dc] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] + status: {code: 200, message: OK} +- request: + body: amount=5200&confirm=True¤cy=eur&customer=cus_RNFfwG9bNVLlvc&description=Liberapay&mandate=mandate_1QUVACFk4eGpfLOCENoPT5dV&metadata[payin_id]=2120&off_session=False&payment_method=pm_1QUVABFk4eGpfLOCBfFhZiQR&payment_method_types[0]=sepa_debit&return_url=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2F2120&statement_descriptor=Liberapay+2120 + headers: {} + method: POST + uri: https://api.stripe.com/v1/payment_intents + response: + body: {string: "{\n \"id\": \"pi_3QUVADFk4eGpfLOC1pnaajBZ\",\n \"object\": \"\ + payment_intent\",\n \"amount\": 5200,\n \"amount_capturable\": 0,\n \"\ + amount_details\": {\n \"tip\": {}\n },\n \"amount_received\": 0,\n \"\ + application\": null,\n \"application_fee_amount\": null,\n \"automatic_payment_methods\"\ + : null,\n \"canceled_at\": null,\n \"cancellation_reason\": null,\n \"\ + capture_method\": \"automatic\",\n \"charges\": {\n \"object\": \"list\"\ + ,\n \"data\": [\n {\n \"id\": \"py_3QUVADFk4eGpfLOC1BOSJsBh\"\ + ,\n \"object\": \"charge\",\n \"amount\": 5200,\n \"\ + amount_captured\": 5200,\n \"amount_refunded\": 0,\n \"application\"\ + : null,\n \"application_fee\": null,\n \"application_fee_amount\"\ + : null,\n \"balance_transaction\": null,\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"\ + country\": null,\n \"line1\": null,\n \"line2\": null,\n\ + \ \"postal_code\": null,\n \"state\": null\n \ + \ },\n \"email\": \"jane.doe@example.com\",\n \"name\"\ + : \"Jane Doe\",\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ + : null,\n \"captured\": true,\n \"created\": 1733843753,\n \ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFfwG9bNVLlvc\"\ + ,\n \"description\": \"Liberapay\",\n \"destination\": null,\n\ + \ \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ + : null,\n \"failure_code\": null,\n \"failure_message\": null,\n\ + \ \"fraud_details\": {},\n \"invoice\": null,\n \"livemode\"\ + : false,\n \"metadata\": {\n \"payin_id\": \"2120\"\n \ + \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \ + \ \"outcome\": {\n \"network_advice_code\": null,\n \"\ + network_decline_code\": null,\n \"network_status\": \"approved_by_network\"\ + ,\n \"reason\": null,\n \"risk_level\": \"not_assessed\"\ + ,\n \"seller_message\": \"Payment complete.\",\n \"type\"\ + : \"authorized\"\n },\n \"paid\": false,\n \"payment_intent\"\ + : \"pi_3QUVADFk4eGpfLOC1pnaajBZ\",\n \"payment_method\": \"pm_1QUVABFk4eGpfLOCBfFhZiQR\"\ + ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \ + \ \"bank_code\": \"37040044\",\n \"branch_code\": \"\"\ + ,\n \"country\": \"DE\",\n \"fingerprint\": \"vYeSfyBOnTdv1v6W\"\ + ,\n \"last4\": \"3000\",\n \"mandate\": \"mandate_1QUVACFk4eGpfLOCENoPT5dV\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"\ + radar_options\": {},\n \"receipt_email\": null,\n \"receipt_number\"\ + : null,\n \"receipt_url\": null,\n \"refunded\": false,\n \ + \ \"refunds\": {\n \"object\": \"list\",\n \"data\"\ + : [],\n \"has_more\": false,\n \"total_count\": 0,\n \ + \ \"url\": \"/v1/charges/py_3QUVADFk4eGpfLOC1BOSJsBh/refunds\"\n \ + \ },\n \"review\": null,\n \"shipping\": null,\n \ + \ \"source\": null,\n \"source_transfer\": null,\n \"statement_descriptor\"\ + : \"Liberapay 2120\",\n \"statement_descriptor_suffix\": null,\n \ + \ \"status\": \"pending\",\n \"transfer_data\": null,\n \ + \ \"transfer_group\": null\n }\n ],\n \"has_more\": false,\n \ + \ \"total_count\": 1,\n \"url\": \"/v1/charges?payment_intent=pi_3QUVADFk4eGpfLOC1pnaajBZ\"\ + \n },\n \"client_secret\": \"pi_3QUVADFk4eGpfLOC1pnaajBZ_secret_9dIKUIYxBHwEPfN8iugLjNp5Q\"\ + ,\n \"confirmation_method\": \"automatic\",\n \"created\": 1733843753,\n\ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFfwG9bNVLlvc\",\n \"description\"\ + : \"Liberapay\",\n \"invoice\": null,\n \"last_payment_error\": null,\n\ + \ \"latest_charge\": \"py_3QUVADFk4eGpfLOC1BOSJsBh\",\n \"livemode\": false,\n\ + \ \"metadata\": {\n \"payin_id\": \"2120\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUVABFk4eGpfLOCBfFhZiQR\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {\n \"sepa_debit\": {}\n },\n \"payment_method_types\": [\n \"sepa_debit\"\ + \n ],\n \"processing\": null,\n \"receipt_email\": null,\n \"review\"\ + : null,\n \"setup_future_usage\": null,\n \"shipping\": null,\n \"source\"\ + : null,\n \"statement_descriptor\": \"Liberapay 2120\",\n \"statement_descriptor_suffix\"\ + : null,\n \"status\": \"processing\",\n \"transfer_data\": null,\n \"transfer_group\"\ + : null\n}"} + headers: + 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'] + Connection: [keep-alive] + Content-Length: ['4171'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] + Content-Type: [application/json] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:53 GMT'] + Idempotency-Key: [payin_intent_2120] + Original-Request: [req_JR97vz07Z4DHno] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_JR97vz07Z4DHno] + Server: [nginx] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Should-Retry: ['false'] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJTNFk4eGpfLOCtBiCr9rb + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVABFk4eGpfLOCBfFhZiQR response: - body: {string: "{\n \"id\": \"src_1MIJTNFk4eGpfLOCtBiCr9rb\",\n \"object\":\ - \ \"source\",\n \"amount\": 5200,\n \"client_secret\": \"src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - ,\n \"created\": 1671833533,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OFGHy0Ij6nfr\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"JZCCCJBJ5AYZSGME\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTNFk4eGpfLOCtBiCr9rb/src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"DE\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"37040044\",\n \"branch_code\": null,\n \"\ - country\": \"DE\",\n \"fingerprint\": \"VNz5BVW8XnYcq3XT\",\n \"last4\"\ - : \"3000\",\n \"mandate_reference\": \"JZCCCJBJ5AYZSGME\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTNFk4eGpfLOCtBiCr9rb/src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"pm_1QUVABFk4eGpfLOCBfFhZiQR\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843751,\n\ + \ \"customer\": \"cus_RNFfwG9bNVLlvc\",\n \"livemode\": false,\n \"metadata\"\ + : {},\n \"sepa_debit\": {\n \"bank_code\": \"37040044\",\n \"branch_code\"\ + : \"\",\n \"country\": \"DE\",\n \"fingerprint\": \"vifs0Ho7vwRn1Miu\"\ + ,\n \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"3000\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1577'] + Content-Length: ['730'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:15 GMT'] - Request-Id: [req_ysJJkrlzIsxIZ9] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:53 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_cdIy0OEPi5E1WE] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJTNFk4eGpfLOCtBiCr9rb + uri: https://api.stripe.com/v1/mandates/mandate_1QUVACFk4eGpfLOCENoPT5dV response: - body: {string: "{\n \"id\": \"src_1MIJTNFk4eGpfLOCtBiCr9rb\",\n \"object\":\ - \ \"source\",\n \"amount\": 5200,\n \"client_secret\": \"src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - ,\n \"created\": 1671833533,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OFGHy0Ij6nfr\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"JZCCCJBJ5AYZSGME\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTNFk4eGpfLOCtBiCr9rb/src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"DE\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"37040044\",\n \"branch_code\": null,\n \"\ - country\": \"DE\",\n \"fingerprint\": \"VNz5BVW8XnYcq3XT\",\n \"last4\"\ - : \"3000\",\n \"mandate_reference\": \"JZCCCJBJ5AYZSGME\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTNFk4eGpfLOCtBiCr9rb/src_client_secret_fcHeAab0Z6aFZBeTfYMKGAYn\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"mandate_1QUVACFk4eGpfLOCENoPT5dV\",\n \"object\"\ + : \"mandate\",\n \"customer_acceptance\": {\n \"accepted_at\": 1733843752,\n\ + \ \"online\": {\n \"ip_address\": \"0.0.0.0\",\n \"user_agent\"\ + : \"Pando-test-client/0.47\"\n },\n \"type\": \"online\"\n },\n \"\ + livemode\": false,\n \"multi_use\": {},\n \"payment_method\": \"pm_1QUVABFk4eGpfLOCBfFhZiQR\"\ + ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \"reference\"\ + : \"QWEM3MGPVPMTXWT1\",\n \"url\": \"https://payments.stripe.com/sepa_debit/mandate/mandate_test_YWNjdF8xQ2h5YXlGazRlR3BmTE9DLG1hbmRhdGVzdF9STkZmNWFBR29uVVhKdXZ5WEtERUIwcTVsbVhzdU010000O3d8sOHA\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"status\": \"active\",\n\ + \ \"type\": \"multi_use\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1577'] + Content-Length: ['686'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:15 GMT'] - Request-Id: [req_vOl0zFYMO3rmgE] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:54 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_xF04QqfzVhI0Fs] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/tokens/tok_jp + uri: https://api.stripe.com/v1/mandates/mandate_1QUVACFk4eGpfLOCENoPT5dV response: - body: {string: "{\n \"id\": \"tok_1MIJTPFk4eGpfLOCKEAocyTL\",\n \"object\":\ - \ \"token\",\n \"card\": {\n \"id\": \"card_1MIJTPFk4eGpfLOCIok8nmtB\"\ - ,\n \"object\": \"card\",\n \"address_city\": null,\n \"address_country\"\ - : null,\n \"address_line1\": null,\n \"address_line1_check\": null,\n\ - \ \"address_line2\": null,\n \"address_state\": null,\n \"address_zip\"\ - : null,\n \"address_zip_check\": null,\n \"brand\": \"Visa\",\n \"\ - country\": \"JP\",\n \"currency\": \"jpy\",\n \"cvc_check\": null,\n\ - \ \"dynamic_last4\": null,\n \"exp_month\": 12,\n \"exp_year\": 2023,\n\ - \ \"fingerprint\": \"4heNPBHbDWXWyXBc\",\n \"funding\": \"credit\",\n\ - \ \"last4\": \"0003\",\n \"metadata\": {},\n \"name\": null,\n \ - \ \"tokenization_method\": null\n },\n \"client_ip\": null,\n \"created\"\ - : 1671833535,\n \"livemode\": false,\n \"type\": \"card\",\n \"used\":\ - \ false\n}"} + body: {string: "{\n \"id\": \"mandate_1QUVACFk4eGpfLOCENoPT5dV\",\n \"object\"\ + : \"mandate\",\n \"customer_acceptance\": {\n \"accepted_at\": 1733843752,\n\ + \ \"online\": {\n \"ip_address\": \"0.0.0.0\",\n \"user_agent\"\ + : \"Pando-test-client/0.47\"\n },\n \"type\": \"online\"\n },\n \"\ + livemode\": false,\n \"multi_use\": {},\n \"payment_method\": \"pm_1QUVABFk4eGpfLOCBfFhZiQR\"\ + ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \"reference\"\ + : \"QWEM3MGPVPMTXWT1\",\n \"url\": \"https://payments.stripe.com/sepa_debit/mandate/mandate_test_YWNjdF8xQ2h5YXlGazRlR3BmTE9DLG1hbmRhdGVzdF9STkZmNWFBR29uVVhKdXZ5WEtERUIwcTVsbVhzdU010000O3d8sOHA\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"status\": \"active\",\n\ + \ \"type\": \"multi_use\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['785'] + Content-Length: ['686'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:16 GMT'] - Request-Id: [req_hdQ92eL1FKWpjL] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:54 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_JR72BjVvlPlgQf] + Server: [nginx] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] + status: {code: 200, message: OK} +- request: + body: null + headers: {} + method: GET + uri: https://api.stripe.com/v1/payment_methods/pm_card_jp + response: + body: {string: "{\n \"id\": \"pm_1QUVAEFk4eGpfLOCxpJmNmau\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": null,\n \"name\": null,\n\ + \ \"phone\": null\n },\n \"card\": {\n \"brand\": \"visa\",\n \"\ + checks\": {\n \"address_line1_check\": null,\n \"address_postal_code_check\"\ + : null,\n \"cvc_check\": \"unchecked\"\n },\n \"country\": \"JP\"\ + ,\n \"display_brand\": \"visa\",\n \"exp_month\": 12,\n \"exp_year\"\ + : 2025,\n \"fingerprint\": \"4heNPBHbDWXWyXBc\",\n \"funding\": \"credit\"\ + ,\n \"generated_from\": null,\n \"last4\": \"0003\",\n \"networks\"\ + : {\n \"available\": [\n \"visa\"\n ],\n \"preferred\"\ + : null\n },\n \"three_d_secure_usage\": {\n \"supported\": true\n\ + \ },\n \"wallet\": null\n },\n \"created\": 1733843755,\n \"customer\"\ + : null,\n \"livemode\": false,\n \"metadata\": {},\n \"type\": \"card\"\ + \n}"} + headers: + 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'] + Connection: [keep-alive] + Content-Length: ['996'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] + Content-Type: [application/json] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:55 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_GOdbcb32NRWaTo] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=10000&owner[email]=donor%40example.com&redirect[return_url]=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2Fcomplete&token=tok_1MIJTPFk4eGpfLOCKEAocyTL&type=card&usage=single_use + body: email=donor%40example.com&metadata[participant_id]=2130&payment_method=pm_1QUVAEFk4eGpfLOCxpJmNmau&preferred_locales[0]=en headers: {} method: POST - uri: https://api.stripe.com/v1/sources + uri: https://api.stripe.com/v1/customers response: - body: {string: "{\n \"id\": \"src_1MIJTQFk4eGpfLOCXJhrFu7z\",\n \"object\":\ - \ \"source\",\n \"amount\": 10000,\n \"card\": {\n \"address_line1_check\"\ - : null,\n \"address_zip_check\": null,\n \"brand\": \"Visa\",\n \"\ - country\": \"JP\",\n \"cvc_check\": null,\n \"dynamic_last4\": null,\n\ - \ \"exp_month\": 12,\n \"exp_year\": 2023,\n \"fingerprint\": \"\ - 4heNPBHbDWXWyXBc\",\n \"funding\": \"credit\",\n \"last4\": \"0003\"\ - ,\n \"name\": null,\n \"three_d_secure\": \"optional\",\n \"tokenization_method\"\ - : null\n },\n \"client_secret\": \"src_client_secret_iYP4hRem4pbi1B0IleYh7Vhp\"\ - ,\n \"created\": 1671833536,\n \"currency\": null,\n \"flow\": \"none\"\ - ,\n \"livemode\": false,\n \"metadata\": {},\n \"owner\": {\n \"address\"\ - : null,\n \"email\": \"donor@example.com\",\n \"name\": null,\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"statement_descriptor\"\ - : null,\n \"status\": \"chargeable\",\n \"type\": \"card\",\n \"usage\"\ - : \"single_use\"\n}"} + body: {string: "{\n \"id\": \"cus_RNFfS4OFAaZnNh\",\n \"object\": \"customer\"\ + ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ + created\": 1733843755,\n \"currency\": null,\n \"default_currency\": null,\n\ + \ \"default_source\": null,\n \"delinquent\": false,\n \"description\"\ + : null,\n \"discount\": null,\n \"email\": \"donor@example.com\",\n \"\ + invoice_prefix\": \"C3C68620\",\n \"invoice_settings\": {\n \"custom_fields\"\ + : null,\n \"default_payment_method\": null,\n \"footer\": null,\n \ + \ \"rendering_options\": null\n },\n \"livemode\": false,\n \"metadata\"\ + : {\n \"participant_id\": \"2130\"\n },\n \"name\": null,\n \"next_invoice_sequence\"\ + : 1,\n \"phone\": null,\n \"preferred_locales\": [\n \"en\"\n ],\n \ + \ \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n \"\ + data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \"url\"\ + : \"/v1/customers/cus_RNFfS4OFAaZnNh/sources\"\n },\n \"subscriptions\"\ + : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ + \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_RNFfS4OFAaZnNh/subscriptions\"\ + \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ + list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ + : 0,\n \"url\": \"/v1/customers/cus_RNFfS4OFAaZnNh/tax_ids\"\n },\n \"\ + tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ + }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['958'] + Content-Length: ['1261'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:16 GMT'] - Idempotency-Key: [create_source_from_tok_1MIJTPFk4eGpfLOCKEAocyTL] - Original-Request: [req_QCSNfsUAGizXG8] - Request-Id: [req_QCSNfsUAGizXG8] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:56 GMT'] + Idempotency-Key: [create_customer_for_participant_2130_with_pm_1QUVAEFk4eGpfLOCxpJmNmau] + Original-Request: [req_zInCu32npSHuJR] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_zInCu32npSHuJR] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: email=donor%40example.com&source=src_1MIJTQFk4eGpfLOCXJhrFu7z + body: amount=10000&confirm=True¤cy=jpy&customer=cus_RNFfS4OFAaZnNh&description=Liberapay&metadata[payin_id]=2130&off_session=False&payment_method=pm_1QUVAEFk4eGpfLOCxpJmNmau&payment_method_types[0]=card&return_url=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2F2130&statement_descriptor=Liberapay+2130 headers: {} method: POST - uri: https://api.stripe.com/v1/customers + uri: https://api.stripe.com/v1/payment_intents response: - body: {string: "{\n \"id\": \"cus_N2OFul6zmWBIKF\",\n \"object\": \"customer\"\ - ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ - created\": 1671833536,\n \"currency\": null,\n \"default_currency\": null,\n\ - \ \"default_source\": \"src_1MIJTQFk4eGpfLOCXJhrFu7z\",\n \"delinquent\"\ - : false,\n \"description\": null,\n \"discount\": null,\n \"email\": \"\ - donor@example.com\",\n \"invoice_prefix\": \"861601A5\",\n \"invoice_settings\"\ - : {\n \"custom_fields\": null,\n \"default_payment_method\": null,\n\ - \ \"footer\": null,\n \"rendering_options\": null\n },\n \"livemode\"\ - : false,\n \"metadata\": {},\n \"name\": null,\n \"next_invoice_sequence\"\ - : 1,\n \"phone\": null,\n \"preferred_locales\": [],\n \"shipping\": null,\n\ - \ \"sources\": {\n \"object\": \"list\",\n \"data\": [\n {\n \ - \ \"id\": \"src_1MIJTQFk4eGpfLOCXJhrFu7z\",\n \"object\": \"\ - source\",\n \"amount\": 10000,\n \"card\": {\n \"address_line1_check\"\ - : null,\n \"address_zip_check\": null,\n \"brand\": \"Visa\"\ - ,\n \"country\": \"JP\",\n \"cvc_check\": null,\n \ - \ \"dynamic_last4\": null,\n \"exp_month\": 12,\n \"\ - exp_year\": 2023,\n \"fingerprint\": \"4heNPBHbDWXWyXBc\",\n \ - \ \"funding\": \"credit\",\n \"last4\": \"0003\",\n \ - \ \"name\": null,\n \"three_d_secure\": \"optional\",\n \ - \ \"tokenization_method\": null\n },\n \"client_secret\": \"\ - src_client_secret_iYP4hRem4pbi1B0IleYh7Vhp\",\n \"created\": 1671833536,\n\ - \ \"currency\": null,\n \"customer\": \"cus_N2OFul6zmWBIKF\"\ - ,\n \"flow\": \"none\",\n \"livemode\": false,\n \"metadata\"\ - : {},\n \"owner\": {\n \"address\": null,\n \"email\"\ - : \"donor@example.com\",\n \"name\": null,\n \"phone\":\ - \ null,\n \"verified_address\": null,\n \"verified_email\"\ - : null,\n \"verified_name\": null,\n \"verified_phone\"\ - : null\n },\n \"statement_descriptor\": null,\n \"status\"\ - : \"chargeable\",\n \"type\": \"card\",\n \"usage\": \"single_use\"\ - \n }\n ],\n \"has_more\": false,\n \"total_count\": 1,\n \ - \ \"url\": \"/v1/customers/cus_N2OFul6zmWBIKF/sources\"\n },\n \"subscriptions\"\ - : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ - \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_N2OFul6zmWBIKF/subscriptions\"\ - \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ - list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_N2OFul6zmWBIKF/tax_ids\"\n },\n \"\ - tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ + body: {string: "{\n \"id\": \"pi_3QUVAGFk4eGpfLOC0nxPTOJe\",\n \"object\": \"\ + payment_intent\",\n \"amount\": 10000,\n \"amount_capturable\": 0,\n \"\ + amount_details\": {\n \"tip\": {}\n },\n \"amount_received\": 10000,\n\ + \ \"application\": null,\n \"application_fee_amount\": null,\n \"automatic_payment_methods\"\ + : null,\n \"canceled_at\": null,\n \"cancellation_reason\": null,\n \"\ + capture_method\": \"automatic\",\n \"charges\": {\n \"object\": \"list\"\ + ,\n \"data\": [\n {\n \"id\": \"ch_3QUVAGFk4eGpfLOC0i2mOi5z\"\ + ,\n \"object\": \"charge\",\n \"amount\": 10000,\n \"\ + amount_captured\": 10000,\n \"amount_refunded\": 0,\n \"application\"\ + : null,\n \"application_fee\": null,\n \"application_fee_amount\"\ + : null,\n \"balance_transaction\": \"txn_3QUVAGFk4eGpfLOC0mbW7IV2\"\ + ,\n \"billing_details\": {\n \"address\": {\n \"\ + city\": null,\n \"country\": null,\n \"line1\": null,\n\ + \ \"line2\": null,\n \"postal_code\": null,\n \ + \ \"state\": null\n },\n \"email\": null,\n \ + \ \"name\": null,\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ + : \"LIBERAPAY 2130\",\n \"captured\": true,\n \"created\": 1733843756,\n\ + \ \"currency\": \"jpy\",\n \"customer\": \"cus_RNFfS4OFAaZnNh\"\ + ,\n \"description\": \"Liberapay\",\n \"destination\": null,\n\ + \ \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ + : null,\n \"failure_code\": null,\n \"failure_message\": null,\n\ + \ \"fraud_details\": {},\n \"invoice\": null,\n \"livemode\"\ + : false,\n \"metadata\": {\n \"payin_id\": \"2130\"\n \ + \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \ + \ \"outcome\": {\n \"network_advice_code\": null,\n \"\ + network_decline_code\": null,\n \"network_status\": \"approved_by_network\"\ + ,\n \"reason\": null,\n \"risk_level\": \"normal\",\n \ + \ \"risk_score\": 12,\n \"seller_message\": \"Payment complete.\"\ + ,\n \"type\": \"authorized\"\n },\n \"paid\": true,\n\ + \ \"payment_intent\": \"pi_3QUVAGFk4eGpfLOC0nxPTOJe\",\n \"\ + payment_method\": \"pm_1QUVAEFk4eGpfLOCxpJmNmau\",\n \"payment_method_details\"\ + : {\n \"card\": {\n \"amount_authorized\": 10000,\n \ + \ \"authorization_code\": null,\n \"brand\": \"visa\"\ + ,\n \"checks\": {\n \"address_line1_check\": null,\n\ + \ \"address_postal_code_check\": null,\n \"cvc_check\"\ + : \"pass\"\n },\n \"country\": \"JP\",\n \ + \ \"exp_month\": 12,\n \"exp_year\": 2025,\n \"extended_authorization\"\ + : {\n \"status\": \"disabled\"\n },\n \"\ + fingerprint\": \"4heNPBHbDWXWyXBc\",\n \"funding\": \"credit\"\ + ,\n \"incremental_authorization\": {\n \"status\"\ + : \"unavailable\"\n },\n \"installments\": null,\n \ + \ \"last4\": \"0003\",\n \"mandate\": null,\n \ + \ \"multicapture\": {\n \"status\": \"unavailable\"\n \ + \ },\n \"network\": \"visa\",\n \"network_token\"\ + : {\n \"used\": false\n },\n \"overcapture\"\ + : {\n \"maximum_amount_capturable\": 10000,\n \"\ + status\": \"unavailable\"\n },\n \"three_d_secure\"\ + : null,\n \"wallet\": null\n },\n \"type\": \"\ + card\"\n },\n \"radar_options\": {},\n \"receipt_email\"\ + : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKK224boGMgbGnxvYY2E6LBaIz3PTSlztgmzOFhce2DPGRmdgZKq6fsbXFFvYmL41xGHd7uujlb_r0UMI\"\ + ,\n \"refunded\": false,\n \"refunds\": {\n \"object\"\ + : \"list\",\n \"data\": [],\n \"has_more\": false,\n \ + \ \"total_count\": 0,\n \"url\": \"/v1/charges/ch_3QUVAGFk4eGpfLOC0i2mOi5z/refunds\"\ + \n },\n \"review\": null,\n \"shipping\": null,\n \ + \ \"source\": null,\n \"source_transfer\": null,\n \"statement_descriptor\"\ + : \"Liberapay 2130\",\n \"statement_descriptor_suffix\": null,\n \ + \ \"status\": \"succeeded\",\n \"transfer_data\": null,\n \ + \ \"transfer_group\": null\n }\n ],\n \"has_more\": false,\n\ + \ \"total_count\": 1,\n \"url\": \"/v1/charges?payment_intent=pi_3QUVAGFk4eGpfLOC0nxPTOJe\"\ + \n },\n \"client_secret\": \"pi_3QUVAGFk4eGpfLOC0nxPTOJe_secret_hGBR9SGR6SKEVfd50SWIw79VA\"\ + ,\n \"confirmation_method\": \"automatic\",\n \"created\": 1733843756,\n\ + \ \"currency\": \"jpy\",\n \"customer\": \"cus_RNFfS4OFAaZnNh\",\n \"description\"\ + : \"Liberapay\",\n \"invoice\": null,\n \"last_payment_error\": null,\n\ + \ \"latest_charge\": \"ch_3QUVAGFk4eGpfLOC0i2mOi5z\",\n \"livemode\": false,\n\ + \ \"metadata\": {\n \"payin_id\": \"2130\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUVAEFk4eGpfLOCxpJmNmau\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {\n \"card\": {\n \"installments\": null,\n \"mandate_options\"\ + : null,\n \"network\": null,\n \"request_three_d_secure\": \"automatic\"\ + \n }\n },\n \"payment_method_types\": [\n \"card\"\n ],\n \"processing\"\ + : null,\n \"receipt_email\": null,\n \"review\": null,\n \"setup_future_usage\"\ + : null,\n \"shipping\": null,\n \"source\": null,\n \"statement_descriptor\"\ + : \"Liberapay 2130\",\n \"statement_descriptor_suffix\": null,\n \"status\"\ + : \"succeeded\",\n \"transfer_data\": null,\n \"transfer_group\": null\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['2495'] + Content-Length: ['5347'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:17 GMT'] - Idempotency-Key: [create_customer_for_participant_2230_with_src_1MIJTQFk4eGpfLOCXJhrFu7z] - Original-Request: [req_OEEJ4Ld0ZAZRcT] - Request-Id: [req_OEEJ4Ld0ZAZRcT] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:57 GMT'] + Idempotency-Key: [payin_intent_2130] + Original-Request: [req_dxYJRzGWbH3h31] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_dxYJRzGWbH3h31] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=10000¤cy=jpy&customer=cus_N2OFul6zmWBIKF&description=Liberapay&metadata[payin_id]=2230&source=src_1MIJTQFk4eGpfLOCXJhrFu7z&statement_descriptor=Liberapay+2230&expand[0]=balance_transaction + body: null headers: {} - method: POST - uri: https://api.stripe.com/v1/charges + method: GET + uri: https://api.stripe.com/v1/balance_transactions/txn_3QUVAGFk4eGpfLOC0mbW7IV2 response: - body: {string: "{\n \"id\": \"ch_3MIJTRFk4eGpfLOC0KEP8OTP\",\n \"object\": \"\ - charge\",\n \"amount\": 10000,\n \"amount_captured\": 10000,\n \"amount_refunded\"\ - : 0,\n \"application\": null,\n \"application_fee\": null,\n \"application_fee_amount\"\ - : null,\n \"balance_transaction\": {\n \"id\": \"txn_3MIJTRFk4eGpfLOC0L67A1Z3\"\ - ,\n \"object\": \"balance_transaction\",\n \"amount\": 10000,\n \"\ - available_on\": 1672272000,\n \"created\": 1671833537,\n \"currency\"\ - : \"jpy\",\n \"description\": \"Liberapay\",\n \"exchange_rate\": null,\n\ - \ \"fee\": 325,\n \"fee_details\": [\n {\n \"amount\": 325,\n\ - \ \"application\": null,\n \"currency\": \"jpy\",\n \"\ - description\": \"Stripe processing fees\",\n \"type\": \"stripe_fee\"\ - \n }\n ],\n \"net\": 9675,\n \"reporting_category\": \"charge\"\ - ,\n \"source\": \"ch_3MIJTRFk4eGpfLOC0KEP8OTP\",\n \"status\": \"pending\"\ - ,\n \"type\": \"charge\"\n },\n \"billing_details\": {\n \"address\"\ - : {\n \"city\": null,\n \"country\": null,\n \"line1\": null,\n\ - \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ - \ },\n \"email\": \"donor@example.com\",\n \"name\": null,\n \"\ - phone\": null\n },\n \"calculated_statement_descriptor\": \"LIBERAPAY* LIBERAPAY\ - \ 2\",\n \"captured\": true,\n \"created\": 1671833537,\n \"currency\"\ - : \"jpy\",\n \"customer\": \"cus_N2OFul6zmWBIKF\",\n \"description\": \"\ - Liberapay\",\n \"destination\": null,\n \"dispute\": null,\n \"disputed\"\ - : false,\n \"failure_balance_transaction\": null,\n \"failure_code\": null,\n\ - \ \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\": null,\n\ - \ \"livemode\": false,\n \"metadata\": {\n \"payin_id\": \"2230\"\n \ - \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \"outcome\": {\n \ - \ \"network_status\": \"approved_by_network\",\n \"reason\": null,\n \ - \ \"risk_level\": \"normal\",\n \"risk_score\": 16,\n \"seller_message\"\ - : \"Payment complete.\",\n \"type\": \"authorized\"\n },\n \"paid\":\ - \ true,\n \"payment_intent\": null,\n \"payment_method\": \"src_1MIJTQFk4eGpfLOCXJhrFu7z\"\ - ,\n \"payment_method_details\": {\n \"card\": {\n \"brand\": \"visa\"\ - ,\n \"checks\": {\n \"address_line1_check\": null,\n \"\ - address_postal_code_check\": null,\n \"cvc_check\": null\n },\n\ - \ \"country\": \"JP\",\n \"exp_month\": 12,\n \"exp_year\"\ - : 2023,\n \"fingerprint\": \"4heNPBHbDWXWyXBc\",\n \"funding\":\ - \ \"credit\",\n \"installments\": null,\n \"last4\": \"0003\",\n\ - \ \"mandate\": null,\n \"network\": \"visa\",\n \"three_d_secure\"\ - : null,\n \"wallet\": null\n },\n \"type\": \"card\"\n },\n \"\ - receipt_email\": null,\n \"receipt_number\": null,\n \"receipt_url\": \"\ - https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKMLPmJ0GMgZXNVVjSk86LBZeRiOoDG3nwrBsdDE1ljYfNOsQAmtOEjHlb3P7TsuJhrgzUPWEHGW6pNbp\"\ - ,\n \"refunded\": false,\n \"refunds\": {\n \"object\": \"list\",\n \ - \ \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \ - \ \"url\": \"/v1/charges/ch_3MIJTRFk4eGpfLOC0KEP8OTP/refunds\"\n },\n \"\ - review\": null,\n \"shipping\": null,\n \"source\": {\n \"id\": \"src_1MIJTQFk4eGpfLOCXJhrFu7z\"\ - ,\n \"object\": \"source\",\n \"amount\": 10000,\n \"card\": {\n\ - \ \"address_line1_check\": null,\n \"address_zip_check\": null,\n\ - \ \"brand\": \"Visa\",\n \"country\": \"JP\",\n \"cvc_check\"\ - : null,\n \"dynamic_last4\": null,\n \"exp_month\": 12,\n \"\ - exp_year\": 2023,\n \"fingerprint\": \"4heNPBHbDWXWyXBc\",\n \"\ - funding\": \"credit\",\n \"last4\": \"0003\",\n \"name\": null,\n\ - \ \"three_d_secure\": \"optional\",\n \"tokenization_method\": null\n\ - \ },\n \"client_secret\": \"src_client_secret_iYP4hRem4pbi1B0IleYh7Vhp\"\ - ,\n \"created\": 1671833538,\n \"currency\": null,\n \"customer\"\ - : \"cus_N2OFul6zmWBIKF\",\n \"flow\": \"none\",\n \"livemode\": false,\n\ - \ \"metadata\": {},\n \"owner\": {\n \"address\": null,\n \ - \ \"email\": \"donor@example.com\",\n \"name\": null,\n \"phone\"\ - : null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n\ - \ \"statement_descriptor\": null,\n \"status\": \"consumed\",\n \"\ - type\": \"card\",\n \"usage\": \"single_use\"\n },\n \"source_transfer\"\ - : null,\n \"statement_descriptor\": \"Liberapay 2230\",\n \"statement_descriptor_suffix\"\ - : \"Liberapay 2230\",\n \"status\": \"succeeded\",\n \"transfer_data\":\ - \ null,\n \"transfer_group\": null\n}"} + body: {string: "{\n \"id\": \"txn_3QUVAGFk4eGpfLOC0mbW7IV2\",\n \"object\":\ + \ \"balance_transaction\",\n \"amount\": 10000,\n \"available_on\": 1734048000,\n\ + \ \"created\": 1733843756,\n \"currency\": \"jpy\",\n \"description\":\ + \ \"Liberapay\",\n \"exchange_rate\": null,\n \"fee\": 360,\n \"fee_details\"\ + : [\n {\n \"amount\": 360,\n \"application\": null,\n \"\ + currency\": \"jpy\",\n \"description\": \"Stripe processing fees\",\n\ + \ \"type\": \"stripe_fee\"\n }\n ],\n \"net\": 9640,\n \"reporting_category\"\ + : \"charge\",\n \"source\": \"ch_3QUVAGFk4eGpfLOC0i2mOi5z\",\n \"status\"\ + : \"pending\",\n \"type\": \"charge\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['4155'] + Content-Length: ['559'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:18 GMT'] - Idempotency-Key: [payin_2230] - Original-Request: [req_wcW9LKDAo5PBsI] - Request-Id: [req_wcW9LKDAo5PBsI] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:57 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_4XyS2Vjyak9LT3] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=4838¤cy=JPY&description=secret+donation+for+creator_1+via+Liberapay&destination=acct_1MIJTGFsLJG8wY8M&metadata[payin_transfer_id]=2230&source_transaction=ch_3MIJTRFk4eGpfLOC0KEP8OTP + body: amount=4820¤cy=JPY&description=secret+donation+for+creator_1+via+Liberapay&destination=acct_1QUVA3Fw8sDQhJMt&metadata[payin_transfer_id]=2130&source_transaction=ch_3QUVAGFk4eGpfLOC0i2mOi5z headers: {} method: POST uri: https://api.stripe.com/v1/transfers response: - body: {string: "{\n \"id\": \"tr_3MIJTRFk4eGpfLOC0dJq3JwV\",\n \"object\": \"\ - transfer\",\n \"amount\": 4838,\n \"amount_reversed\": 0,\n \"balance_transaction\"\ - : \"txn_3MIJTRFk4eGpfLOC0hWyCwvk\",\n \"created\": 1671833539,\n \"currency\"\ + body: {string: "{\n \"id\": \"tr_3QUVAGFk4eGpfLOC0U30Frv0\",\n \"object\": \"\ + transfer\",\n \"amount\": 4820,\n \"amount_reversed\": 0,\n \"balance_transaction\"\ + : \"txn_3QUVAGFk4eGpfLOC0U6fpp7Z\",\n \"created\": 1733843757,\n \"currency\"\ : \"jpy\",\n \"description\": \"secret donation for creator_1 via Liberapay\"\ - ,\n \"destination\": \"acct_1MIJTGFsLJG8wY8M\",\n \"destination_payment\"\ - : \"py_1MIJTTFsLJG8wY8MOzuQBKpZ\",\n \"livemode\": false,\n \"metadata\"\ - : {\n \"payin_transfer_id\": \"2230\"\n },\n \"reversals\": {\n \"\ + ,\n \"destination\": \"acct_1QUVA3Fw8sDQhJMt\",\n \"destination_payment\"\ + : \"py_1QUVAHFw8sDQhJMtaJspke94\",\n \"livemode\": false,\n \"metadata\"\ + : {\n \"payin_transfer_id\": \"2130\"\n },\n \"reversals\": {\n \"\ object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/transfers/tr_3MIJTRFk4eGpfLOC0dJq3JwV/reversals\"\ - \n },\n \"reversed\": false,\n \"source_transaction\": \"ch_3MIJTRFk4eGpfLOC0KEP8OTP\"\ - ,\n \"source_type\": \"card\",\n \"transfer_group\": \"group_ch_3MIJTRFk4eGpfLOC0KEP8OTP\"\ + : 0,\n \"url\": \"/v1/transfers/tr_3QUVAGFk4eGpfLOC0U30Frv0/reversals\"\ + \n },\n \"reversed\": false,\n \"source_transaction\": \"ch_3QUVAGFk4eGpfLOC0i2mOi5z\"\ + ,\n \"source_type\": \"card\",\n \"transfer_group\": \"group_pi_3QUVAGFk4eGpfLOC0nxPTOJe\"\ \n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] Content-Length: ['774'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:20 GMT'] - Idempotency-Key: [payin_transfer_2230] - Original-Request: [req_QxzZnTI5QGUXCm] - Request-Id: [req_QxzZnTI5QGUXCm] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:58 GMT'] + Idempotency-Key: [payin_transfer_2130] + Original-Request: [req_or5BqfV86peNpn] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_or5BqfV86peNpn] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/charges/py_1MIJTTFsLJG8wY8MOzuQBKpZ + uri: https://api.stripe.com/v1/charges/py_1QUVAHFw8sDQhJMtaJspke94 response: - body: {string: "{\n \"id\": \"py_1MIJTTFsLJG8wY8MOzuQBKpZ\",\n \"object\": \"\ - charge\",\n \"amount\": 4838,\n \"amount_captured\": 4838,\n \"amount_refunded\"\ + body: {string: "{\n \"id\": \"py_1QUVAHFw8sDQhJMtaJspke94\",\n \"object\": \"\ + charge\",\n \"amount\": 4820,\n \"amount_captured\": 4820,\n \"amount_refunded\"\ : 0,\n \"application\": \"ca_DEYxiYHBHZtGj32l9uczcsunbQOcRq8H\",\n \"application_fee\"\ : null,\n \"application_fee_amount\": null,\n \"balance_transaction\": \"\ - txn_1MIJTTFsLJG8wY8MwbnK92gG\",\n \"billing_details\": {\n \"address\"\ + txn_1QUVAIFw8sDQhJMtI2m58fXy\",\n \"billing_details\": {\n \"address\"\ : {\n \"city\": null,\n \"country\": null,\n \"line1\": null,\n\ \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ \ },\n \"email\": null,\n \"name\": null,\n \"phone\": null\n\ \ },\n \"calculated_statement_descriptor\": null,\n \"captured\": true,\n\ - \ \"created\": 1671833539,\n \"currency\": \"jpy\",\n \"customer\": null,\n\ + \ \"created\": 1733843757,\n \"currency\": \"jpy\",\n \"customer\": null,\n\ \ \"description\": null,\n \"destination\": null,\n \"dispute\": null,\n\ \ \"disputed\": false,\n \"failure_balance_transaction\": null,\n \"failure_code\"\ : null,\n \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\"\ @@ -1040,778 +1235,811 @@ interactions: payment_intent\": null,\n \"payment_method\": null,\n \"payment_method_details\"\ : {\n \"stripe_account\": {},\n \"type\": \"stripe_account\"\n },\n\ \ \"receipt_email\": null,\n \"receipt_number\": null,\n \"receipt_url\"\ - : \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xTUlKVEdGc0xKRzh3WThNKMTPmJ0GMgbFPD8KWx46LBb636XBoeVZTxFMlCFaterl0wTlmignIGeSN0wvCOEZ-WXck4vA_nV_Y0zw\"\ + : \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xUVVWQTNGdzhzRFFoSk10KK624boGMgbbMZk_Ln46LBa5oJfC2vXk2J3kZB-vNgVzpBuBcuFLzb2r5_eLCofKoCL8a1Z1Dip1Uhzw\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\": \"list\",\n \ \ \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \ - \ \"url\": \"/v1/charges/py_1MIJTTFsLJG8wY8MOzuQBKpZ/refunds\"\n },\n \"\ + \ \"url\": \"/v1/charges/py_1QUVAHFw8sDQhJMtaJspke94/refunds\"\n },\n \"\ review\": null,\n \"shipping\": null,\n \"source\": {\n \"id\": \"acct_1ChyayFk4eGpfLOC\"\ ,\n \"object\": \"account\",\n \"application_icon\": \"https://files.stripe.com/links/fl_live_pcO27i8SSea27yZPmUHDPhiF\"\ - ,\n \"application_logo\": \"https://s3.amazonaws.com/stripe-uploads/acct_1ChyayFk4eGpfLOCapplication-logo-icon_v2_yellow_r.100.png\"\ + ,\n \"application_logo\": \"https://files.stripe.com/links/MDB8YWNjdF8xQ2h5YXlGazRlR3BmTE9DfGZsX2xpdmVfVXlVTEhzWmxkR1dxSWFBTldwc05KTVJh00Fmg4BAPU\"\ ,\n \"application_name\": \"Liberapay\",\n \"application_url\": \"https://liberapay.com/\"\ - \n },\n \"source_transfer\": \"tr_3MIJTRFk4eGpfLOC0dJq3JwV\",\n \"statement_descriptor\"\ + \n },\n \"source_transfer\": \"tr_3QUVAGFk4eGpfLOC0U30Frv0\",\n \"statement_descriptor\"\ : null,\n \"statement_descriptor_suffix\": null,\n \"status\": \"succeeded\"\ ,\n \"transfer_data\": null,\n \"transfer_group\": null\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['2184'] + Content-Length: ['2199'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:20 GMT'] - Request-Id: [req_W6ajtPLPNZrvCP] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:58 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_orCTxRWPn4Izai] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Account: [acct_1MIJTGFsLJG8wY8M] + Stripe-Account: [acct_1QUVA3Fw8sDQhJMt] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: description=secret+donation+for+creator_1+via+Liberapay&metadata[liberapay_transfer_id]=2230 + body: description=secret+donation+for+creator_1+via+Liberapay&metadata[liberapay_transfer_id]=2130 headers: {} method: POST - uri: https://api.stripe.com/v1/charges/py_1MIJTTFsLJG8wY8MOzuQBKpZ + uri: https://api.stripe.com/v1/charges/py_1QUVAHFw8sDQhJMtaJspke94 response: - body: {string: "{\n \"id\": \"py_1MIJTTFsLJG8wY8MOzuQBKpZ\",\n \"object\": \"\ - charge\",\n \"amount\": 4838,\n \"amount_captured\": 4838,\n \"amount_refunded\"\ + body: {string: "{\n \"id\": \"py_1QUVAHFw8sDQhJMtaJspke94\",\n \"object\": \"\ + charge\",\n \"amount\": 4820,\n \"amount_captured\": 4820,\n \"amount_refunded\"\ : 0,\n \"application\": \"ca_DEYxiYHBHZtGj32l9uczcsunbQOcRq8H\",\n \"application_fee\"\ : null,\n \"application_fee_amount\": null,\n \"balance_transaction\": \"\ - txn_1MIJTTFsLJG8wY8MwbnK92gG\",\n \"billing_details\": {\n \"address\"\ + txn_1QUVAIFw8sDQhJMtI2m58fXy\",\n \"billing_details\": {\n \"address\"\ : {\n \"city\": null,\n \"country\": null,\n \"line1\": null,\n\ \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ \ },\n \"email\": null,\n \"name\": null,\n \"phone\": null\n\ \ },\n \"calculated_statement_descriptor\": null,\n \"captured\": true,\n\ - \ \"created\": 1671833539,\n \"currency\": \"jpy\",\n \"customer\": null,\n\ + \ \"created\": 1733843757,\n \"currency\": \"jpy\",\n \"customer\": null,\n\ \ \"description\": \"secret donation for creator_1 via Liberapay\",\n \"\ destination\": null,\n \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ : null,\n \"failure_code\": null,\n \"failure_message\": null,\n \"fraud_details\"\ : {},\n \"invoice\": null,\n \"livemode\": false,\n \"metadata\": {\n \ - \ \"liberapay_transfer_id\": \"2230\"\n },\n \"on_behalf_of\": null,\n\ + \ \"liberapay_transfer_id\": \"2130\"\n },\n \"on_behalf_of\": null,\n\ \ \"order\": null,\n \"outcome\": null,\n \"paid\": true,\n \"payment_intent\"\ : null,\n \"payment_method\": null,\n \"payment_method_details\": {\n \ \ \"stripe_account\": {},\n \"type\": \"stripe_account\"\n },\n \"receipt_email\"\ - : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xTUlKVEdGc0xKRzh3WThNKMXPmJ0GMgaaeB5O6mw6LBZLmWUvqfkrQCssOaWk4Du_VPbQNvY3DgP64yakj68ZTUm2k4_us_Mky7MF\"\ + : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xUVVWQTNGdzhzRFFoSk10KK624boGMgaqT7RcDIo6LBbazQsV-zDYXpNyjPVzPsAr1oMwiOyAk_1caxRPn6CdzlklGsu8VVT5-eq4\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\": \"list\",\n \ \ \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \ - \ \"url\": \"/v1/charges/py_1MIJTTFsLJG8wY8MOzuQBKpZ/refunds\"\n },\n \"\ + \ \"url\": \"/v1/charges/py_1QUVAHFw8sDQhJMtaJspke94/refunds\"\n },\n \"\ review\": null,\n \"shipping\": null,\n \"source\": {\n \"id\": \"acct_1ChyayFk4eGpfLOC\"\ ,\n \"object\": \"account\",\n \"application_icon\": \"https://files.stripe.com/links/fl_live_pcO27i8SSea27yZPmUHDPhiF\"\ - ,\n \"application_logo\": \"https://s3.amazonaws.com/stripe-uploads/acct_1ChyayFk4eGpfLOCapplication-logo-icon_v2_yellow_r.100.png\"\ + ,\n \"application_logo\": \"https://files.stripe.com/links/MDB8YWNjdF8xQ2h5YXlGazRlR3BmTE9DfGZsX2xpdmVfVXlVTEhzWmxkR1dxSWFBTldwc05KTVJh00Fmg4BAPU\"\ ,\n \"application_name\": \"Liberapay\",\n \"application_url\": \"https://liberapay.com/\"\ - \n },\n \"source_transfer\": \"tr_3MIJTRFk4eGpfLOC0dJq3JwV\",\n \"statement_descriptor\"\ + \n },\n \"source_transfer\": \"tr_3QUVAGFk4eGpfLOC0U30Frv0\",\n \"statement_descriptor\"\ : null,\n \"statement_descriptor_suffix\": null,\n \"status\": \"succeeded\"\ ,\n \"transfer_data\": null,\n \"transfer_group\": null\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['2264'] + Content-Length: ['2279'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:21 GMT'] - Idempotency-Key: [6e2ae080-a394-4fd7-bce0-cf47fc28882b] - Original-Request: [req_gFXFm6CR0CeClS] - Request-Id: [req_gFXFm6CR0CeClS] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:59 GMT'] + Idempotency-Key: [fa84af77-d759-472a-9237-39a1cb4c48a3] + Original-Request: [req_xMzOSddaduMr9Q] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_xMzOSddaduMr9Q] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Account: [acct_1MIJTGFsLJG8wY8M] + Stripe-Account: [acct_1QUVA3Fw8sDQhJMt] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: bank_account[country]=FR&bank_account[currency]=EUR&bank_account[account_number]=FR1420041010050500013M02606&bank_account[account_holder_name]=Jane+Doe + body: type=sepa_debit&billing_details[email]=jane.doe%40example.com&billing_details[name]=Jane+Doe&sepa_debit[iban]=FR1420041010050500013M02606 headers: {} method: POST - uri: https://api.stripe.com/v1/tokens + uri: https://api.stripe.com/v1/payment_methods response: - body: {string: "{\n \"id\": \"btok_1MIJTVFk4eGpfLOCHXWLl9vJ\",\n \"object\"\ - : \"token\",\n \"bank_account\": {\n \"id\": \"ba_1MIJTVFk4eGpfLOCmBCmmIJw\"\ - ,\n \"object\": \"bank_account\",\n \"account_holder_name\": \"Jane\ - \ Doe\",\n \"account_holder_type\": null,\n \"account_type\": null,\n\ - \ \"bank_name\": \"STRIPE TEST BANK\",\n \"country\": \"FR\",\n \"\ - currency\": \"eur\",\n \"fingerprint\": \"T8MDJUvoericCF3x\",\n \"last4\"\ - : \"2606\",\n \"routing_number\": \"110000000\",\n \"status\": \"new\"\ - \n },\n \"client_ip\": \"77.132.65.89\",\n \"created\": 1671833541,\n \ - \ \"livemode\": false,\n \"type\": \"bank_account\",\n \"used\": false\n\ + body: {string: "{\n \"id\": \"pm_1QUVAJFk4eGpfLOCpk6sLxIo\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843759,\n\ + \ \"customer\": null,\n \"livemode\": false,\n \"metadata\": {},\n \"\ + sepa_debit\": {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\"\ + ,\n \"country\": \"FR\",\n \"fingerprint\": \"zdz3RiJj2F6Z582i\",\n\ + \ \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"2606\"\n },\n \"type\": \"sepa_debit\"\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['574'] + Content-Length: ['716'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:21 GMT'] - Idempotency-Key: [29849290-4533-4e39-84e0-2d9f51d430bc] - Original-Request: [req_gH77i8etUzUNIx] - Request-Id: [req_gH77i8etUzUNIx] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:59 GMT'] + Idempotency-Key: [create_french_sdd_pm_2140] + Original-Request: [req_s76PtwaV9km3Ti] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_s76PtwaV9km3Ti] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/tokens/btok_1MIJTVFk4eGpfLOCHXWLl9vJ - response: - body: {string: "{\n \"id\": \"btok_1MIJTVFk4eGpfLOCHXWLl9vJ\",\n \"object\"\ - : \"token\",\n \"bank_account\": {\n \"id\": \"ba_1MIJTVFk4eGpfLOCmBCmmIJw\"\ - ,\n \"object\": \"bank_account\",\n \"account_holder_name\": \"Jane\ - \ Doe\",\n \"account_holder_type\": null,\n \"account_type\": null,\n\ - \ \"bank_name\": \"STRIPE TEST BANK\",\n \"country\": \"FR\",\n \"\ - currency\": \"eur\",\n \"fingerprint\": \"T8MDJUvoericCF3x\",\n \"last4\"\ - : \"2606\",\n \"routing_number\": \"110000000\",\n \"status\": \"new\"\ - \n },\n \"client_ip\": \"77.132.65.89\",\n \"created\": 1671833541,\n \ - \ \"livemode\": false,\n \"type\": \"bank_account\",\n \"used\": false\n\ + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVAJFk4eGpfLOCpk6sLxIo + response: + body: {string: "{\n \"id\": \"pm_1QUVAJFk4eGpfLOCpk6sLxIo\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843759,\n\ + \ \"customer\": null,\n \"livemode\": false,\n \"metadata\": {},\n \"\ + sepa_debit\": {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\"\ + ,\n \"country\": \"FR\",\n \"fingerprint\": \"zdz3RiJj2F6Z582i\",\n\ + \ \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"2606\"\n },\n \"type\": \"sepa_debit\"\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['574'] + Content-Length: ['716'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:22 GMT'] - Request-Id: [req_nf8Kot1joBTO6e] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:59 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_v93JML78CE2iQW] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: owner[email]=donor%40example.com&redirect[return_url]=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2Fcomplete&token=btok_1MIJTVFk4eGpfLOCHXWLl9vJ&type=sepa_debit&usage=reusable + body: email=donor%40example.com&metadata[participant_id]=2140&payment_method=pm_1QUVAJFk4eGpfLOCpk6sLxIo&preferred_locales[0]=en headers: {} method: POST - uri: https://api.stripe.com/v1/sources + uri: https://api.stripe.com/v1/customers response: - body: {string: "{\n \"id\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - ,\n \"created\": 1671833542,\n \"currency\": \"eur\",\n \"flow\": \"none\"\ - ,\n \"livemode\": false,\n \"mandate\": {\n \"acceptance\": {\n \ - \ \"date\": null,\n \"ip\": null,\n \"offline\": null,\n \"\ - online\": null,\n \"status\": \"pending\",\n \"type\": null,\n \ - \ \"user_agent\": null\n },\n \"amount\": null,\n \"currency\"\ - : null,\n \"interval\": \"variable\",\n \"notification_method\": \"\ - none\",\n \"reference\": \"YH1BZCYIBHEQS7SW\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"YH1BZCYIBHEQS7SW\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"cus_RNFf0Fa5fEHEJM\",\n \"object\": \"customer\"\ + ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ + created\": 1733843759,\n \"currency\": null,\n \"default_currency\": null,\n\ + \ \"default_source\": null,\n \"delinquent\": false,\n \"description\"\ + : null,\n \"discount\": null,\n \"email\": \"donor@example.com\",\n \"\ + invoice_prefix\": \"1FBAAD0E\",\n \"invoice_settings\": {\n \"custom_fields\"\ + : null,\n \"default_payment_method\": null,\n \"footer\": null,\n \ + \ \"rendering_options\": null\n },\n \"livemode\": false,\n \"metadata\"\ + : {\n \"participant_id\": \"2140\"\n },\n \"name\": null,\n \"next_invoice_sequence\"\ + : 1,\n \"phone\": null,\n \"preferred_locales\": [\n \"en\"\n ],\n \ + \ \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n \"\ + data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \"url\"\ + : \"/v1/customers/cus_RNFf0Fa5fEHEJM/sources\"\n },\n \"subscriptions\"\ + : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ + \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_RNFf0Fa5fEHEJM/subscriptions\"\ + \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ + list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ + : 0,\n \"url\": \"/v1/customers/cus_RNFf0Fa5fEHEJM/tax_ids\"\n },\n \"\ + tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ + }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1541'] + Content-Length: ['1261'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:22 GMT'] - Idempotency-Key: [create_source_from_btok_1MIJTVFk4eGpfLOCHXWLl9vJ] - Original-Request: [req_4zUuKSfbLxvQLA] - Request-Id: [req_4zUuKSfbLxvQLA] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:15:59 GMT'] + Idempotency-Key: [create_customer_for_participant_2140_with_pm_1QUVAJFk4eGpfLOCpk6sLxIo] + Original-Request: [req_cbGvOeeKbBzkSy] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_cbGvOeeKbBzkSy] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: email=donor%40example.com&source=src_1MIJTWFk4eGpfLOC54xD73Kc + body: confirm=True&customer=cus_RNFf0Fa5fEHEJM&mandate_data[customer_acceptance][type]=online&mandate_data[customer_acceptance][accepted_at]=1733843759&mandate_data[customer_acceptance][online][ip_address]=0.0.0.0&mandate_data[customer_acceptance][online][user_agent]=Pando-test-client%2F0.47&metadata[route_id]=104&payment_method=pm_1QUVAJFk4eGpfLOCpk6sLxIo&payment_method_types[0]=sepa_debit&usage=off_session headers: {} method: POST - uri: https://api.stripe.com/v1/customers + uri: https://api.stripe.com/v1/setup_intents response: - body: {string: "{\n \"id\": \"cus_N2OGXsC1dWM6IF\",\n \"object\": \"customer\"\ - ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ - created\": 1671833542,\n \"currency\": null,\n \"default_currency\": null,\n\ - \ \"default_source\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\",\n \"delinquent\"\ - : false,\n \"description\": null,\n \"discount\": null,\n \"email\": \"\ - donor@example.com\",\n \"invoice_prefix\": \"CCBCD7A3\",\n \"invoice_settings\"\ - : {\n \"custom_fields\": null,\n \"default_payment_method\": null,\n\ - \ \"footer\": null,\n \"rendering_options\": null\n },\n \"livemode\"\ - : false,\n \"metadata\": {},\n \"name\": null,\n \"next_invoice_sequence\"\ - : 1,\n \"phone\": null,\n \"preferred_locales\": [],\n \"shipping\": null,\n\ - \ \"sources\": {\n \"object\": \"list\",\n \"data\": [\n {\n \ - \ \"id\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\",\n \"object\": \"\ - source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - ,\n \"created\": 1671833542,\n \"currency\": \"eur\",\n \ - \ \"customer\": \"cus_N2OGXsC1dWM6IF\",\n \"flow\": \"none\",\n\ - \ \"livemode\": false,\n \"mandate\": {\n \"acceptance\"\ - : {\n \"date\": null,\n \"ip\": null,\n \"\ - offline\": null,\n \"online\": null,\n \"status\": \"\ - pending\",\n \"type\": null,\n \"user_agent\": null\n\ - \ },\n \"amount\": null,\n \"currency\": null,\n\ - \ \"interval\": \"variable\",\n \"notification_method\"\ - : \"none\",\n \"reference\": \"YH1BZCYIBHEQS7SW\",\n \"\ - url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"\ - address\": {\n \"city\": null,\n \"country\": \"FR\"\ - ,\n \"line1\": null,\n \"line2\": null,\n \ - \ \"postal_code\": null,\n \"state\": null\n },\n \ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\"\ - ,\n \"phone\": null,\n \"verified_address\": null,\n \ - \ \"verified_email\": null,\n \"verified_name\": null,\n \ - \ \"verified_phone\": null\n },\n \"sepa_debit\": {\n\ - \ \"bank_code\": \"20041\",\n \"branch_code\": \"01005\"\ - ,\n \"country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\"\ - ,\n \"last4\": \"2606\",\n \"mandate_reference\": \"YH1BZCYIBHEQS7SW\"\ - ,\n \"mandate_url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"statement_descriptor\": null,\n \"status\"\ - : \"chargeable\",\n \"type\": \"sepa_debit\",\n \"usage\": \"\ - reusable\"\n }\n ],\n \"has_more\": false,\n \"total_count\"\ - : 1,\n \"url\": \"/v1/customers/cus_N2OGXsC1dWM6IF/sources\"\n },\n \"\ - subscriptions\": {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\"\ - : false,\n \"total_count\": 0,\n \"url\": \"/v1/customers/cus_N2OGXsC1dWM6IF/subscriptions\"\ - \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ - list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_N2OGXsC1dWM6IF/tax_ids\"\n },\n \"\ - tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ - }"} + body: {string: "{\n \"id\": \"seti_1QUVAKFk4eGpfLOC6VpgKXhx\",\n \"object\"\ + : \"setup_intent\",\n \"application\": null,\n \"automatic_payment_methods\"\ + : null,\n \"cancellation_reason\": null,\n \"client_secret\": \"seti_1QUVAKFk4eGpfLOC6VpgKXhx_secret_RNFfzuh6vs7oTL9esxWMLEs9V0fW96m\"\ + ,\n \"created\": 1733843760,\n \"customer\": \"cus_RNFf0Fa5fEHEJM\",\n \ + \ \"description\": null,\n \"flow_directions\": null,\n \"last_setup_error\"\ + : null,\n \"latest_attempt\": \"setatt_1QUVAKFk4eGpfLOCvCRQWTqC\",\n \"\ + livemode\": false,\n \"mandate\": \"mandate_1QUVAKFk4eGpfLOCwo4hmFR5\",\n\ + \ \"metadata\": {\n \"route_id\": \"104\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUVAJFk4eGpfLOCpk6sLxIo\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {},\n \"payment_method_types\": [\n \"sepa_debit\"\n ],\n \"single_use_mandate\"\ + : null,\n \"status\": \"succeeded\",\n \"usage\": \"off_session\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['3180'] + Content-Length: ['869'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:23 GMT'] - Idempotency-Key: [create_customer_for_participant_2240_with_src_1MIJTWFk4eGpfLOC54xD73Kc] - Original-Request: [req_wOr1cs4ChwIvLo] - Request-Id: [req_wOr1cs4ChwIvLo] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:00 GMT'] + Idempotency-Key: [create_SI_for_route_104] + Original-Request: [req_bfJt6Z1x4E229O] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_bfJt6Z1x4E229O] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=10000¤cy=eur&customer=cus_N2OGXsC1dWM6IF&description=Liberapay&metadata[payin_id]=2240&source=src_1MIJTWFk4eGpfLOC54xD73Kc&statement_descriptor=Liberapay+2240&expand[0]=balance_transaction + body: amount=10000&confirm=True¤cy=eur&customer=cus_RNFf0Fa5fEHEJM&description=Liberapay&mandate=mandate_1QUVAKFk4eGpfLOCwo4hmFR5&metadata[payin_id]=2140&off_session=False&payment_method=pm_1QUVAJFk4eGpfLOCpk6sLxIo&payment_method_types[0]=sepa_debit&return_url=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2F2140&statement_descriptor=Liberapay+2140 headers: {} method: POST - uri: https://api.stripe.com/v1/charges + uri: https://api.stripe.com/v1/payment_intents response: - body: {string: "{\n \"id\": \"py_1MIJTXFk4eGpfLOCQrMpDNYb\",\n \"object\": \"\ - charge\",\n \"amount\": 10000,\n \"amount_captured\": 10000,\n \"amount_refunded\"\ - : 0,\n \"application\": null,\n \"application_fee\": null,\n \"application_fee_amount\"\ - : null,\n \"balance_transaction\": null,\n \"billing_details\": {\n \"\ - address\": {\n \"city\": null,\n \"country\": \"FR\",\n \"\ - line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n \ - \ \"state\": null\n },\n \"email\": \"donor@example.com\",\n \"\ - name\": \"Jane Doe\",\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ - : null,\n \"captured\": true,\n \"created\": 1671833543,\n \"currency\"\ - : \"eur\",\n \"customer\": \"cus_N2OGXsC1dWM6IF\",\n \"description\": \"\ - Liberapay\",\n \"destination\": null,\n \"dispute\": null,\n \"disputed\"\ - : false,\n \"failure_balance_transaction\": null,\n \"failure_code\": null,\n\ - \ \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\": null,\n\ - \ \"livemode\": false,\n \"metadata\": {\n \"payin_id\": \"2240\"\n \ - \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \"outcome\": {\n \ - \ \"network_status\": \"approved_by_network\",\n \"reason\": null,\n \ - \ \"risk_level\": \"not_assessed\",\n \"seller_message\": \"Payment complete.\"\ - ,\n \"type\": \"authorized\"\n },\n \"paid\": false,\n \"payment_intent\"\ - : null,\n \"payment_method\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\",\n \"payment_method_details\"\ - : {\n \"sepa_debit\": {\n \"bank_code\": \"20041\",\n \"branch_code\"\ - : \"01005\",\n \"country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\"\ - ,\n \"last4\": \"2606\",\n \"mandate\": null\n },\n \"type\"\ - : \"sepa_debit\"\n },\n \"receipt_email\": null,\n \"receipt_number\":\ - \ null,\n \"receipt_url\": null,\n \"refunded\": false,\n \"refunds\":\ - \ {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ - \ \"total_count\": 0,\n \"url\": \"/v1/charges/py_1MIJTXFk4eGpfLOCQrMpDNYb/refunds\"\ - \n },\n \"review\": null,\n \"shipping\": null,\n \"source\": {\n \"\ - id\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\",\n \"object\": \"source\",\n \ - \ \"amount\": null,\n \"client_secret\": \"src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - ,\n \"created\": 1671833543,\n \"currency\": \"eur\",\n \"customer\"\ - : \"cus_N2OGXsC1dWM6IF\",\n \"flow\": \"none\",\n \"livemode\": false,\n\ - \ \"mandate\": {\n \"acceptance\": {\n \"date\": null,\n \ - \ \"ip\": null,\n \"offline\": null,\n \"online\": null,\n\ - \ \"status\": \"pending\",\n \"type\": null,\n \"user_agent\"\ - : null\n },\n \"amount\": null,\n \"currency\": null,\n \ - \ \"interval\": \"variable\",\n \"notification_method\": \"none\",\n\ - \ \"reference\": \"YH1BZCYIBHEQS7SW\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n\ - \ \"city\": null,\n \"country\": \"FR\",\n \"line1\"\ - : null,\n \"line2\": null,\n \"postal_code\": null,\n \ - \ \"state\": null\n },\n \"email\": \"donor@example.com\",\n \ - \ \"name\": \"Jane Doe\",\n \"phone\": null,\n \"verified_address\"\ - : null,\n \"verified_email\": null,\n \"verified_name\": null,\n\ - \ \"verified_phone\": null\n },\n \"sepa_debit\": {\n \"bank_code\"\ - : \"20041\",\n \"branch_code\": \"01005\",\n \"country\": \"FR\"\ - ,\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\": \"2606\"\ - ,\n \"mandate_reference\": \"YH1BZCYIBHEQS7SW\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\"\ - ,\n \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n },\n \"\ - source_transfer\": null,\n \"statement_descriptor\": \"Liberapay 2240\",\n\ - \ \"statement_descriptor_suffix\": null,\n \"status\": \"pending\",\n \"\ - transfer_data\": null,\n \"transfer_group\": null\n}"} - headers: - Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - Access-Control-Max-Age: ['300'] - Cache-Control: ['no-cache, no-store'] - Connection: [keep-alive] - Content-Length: ['3709'] - Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:23 GMT'] - Idempotency-Key: [payin_2240] - Original-Request: [req_3WziB9abjAHFWn] - Request-Id: [req_3WziB9abjAHFWn] + body: {string: "{\n \"id\": \"pi_3QUVAKFk4eGpfLOC15LPa2xf\",\n \"object\": \"\ + payment_intent\",\n \"amount\": 10000,\n \"amount_capturable\": 0,\n \"\ + amount_details\": {\n \"tip\": {}\n },\n \"amount_received\": 0,\n \"\ + application\": null,\n \"application_fee_amount\": null,\n \"automatic_payment_methods\"\ + : null,\n \"canceled_at\": null,\n \"cancellation_reason\": null,\n \"\ + capture_method\": \"automatic\",\n \"charges\": {\n \"object\": \"list\"\ + ,\n \"data\": [\n {\n \"id\": \"py_3QUVAKFk4eGpfLOC1oqdTAiR\"\ + ,\n \"object\": \"charge\",\n \"amount\": 10000,\n \"\ + amount_captured\": 10000,\n \"amount_refunded\": 0,\n \"application\"\ + : null,\n \"application_fee\": null,\n \"application_fee_amount\"\ + : null,\n \"balance_transaction\": null,\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"\ + country\": null,\n \"line1\": null,\n \"line2\": null,\n\ + \ \"postal_code\": null,\n \"state\": null\n \ + \ },\n \"email\": \"jane.doe@example.com\",\n \"name\"\ + : \"Jane Doe\",\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ + : null,\n \"captured\": true,\n \"created\": 1733843760,\n \ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFf0Fa5fEHEJM\"\ + ,\n \"description\": \"Liberapay\",\n \"destination\": null,\n\ + \ \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ + : null,\n \"failure_code\": null,\n \"failure_message\": null,\n\ + \ \"fraud_details\": {},\n \"invoice\": null,\n \"livemode\"\ + : false,\n \"metadata\": {\n \"payin_id\": \"2140\"\n \ + \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \ + \ \"outcome\": {\n \"network_advice_code\": null,\n \"\ + network_decline_code\": null,\n \"network_status\": \"approved_by_network\"\ + ,\n \"reason\": null,\n \"risk_level\": \"not_assessed\"\ + ,\n \"seller_message\": \"Payment complete.\",\n \"type\"\ + : \"authorized\"\n },\n \"paid\": false,\n \"payment_intent\"\ + : \"pi_3QUVAKFk4eGpfLOC15LPa2xf\",\n \"payment_method\": \"pm_1QUVAJFk4eGpfLOCpk6sLxIo\"\ + ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \ + \ \"bank_code\": \"20041\",\n \"branch_code\": \"01005\"\ + ,\n \"country\": \"FR\",\n \"fingerprint\": \"T8MDJUvoericCF3x\"\ + ,\n \"last4\": \"2606\",\n \"mandate\": \"mandate_1QUVAKFk4eGpfLOCwo4hmFR5\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"\ + radar_options\": {},\n \"receipt_email\": null,\n \"receipt_number\"\ + : null,\n \"receipt_url\": null,\n \"refunded\": false,\n \ + \ \"refunds\": {\n \"object\": \"list\",\n \"data\"\ + : [],\n \"has_more\": false,\n \"total_count\": 0,\n \ + \ \"url\": \"/v1/charges/py_3QUVAKFk4eGpfLOC1oqdTAiR/refunds\"\n \ + \ },\n \"review\": null,\n \"shipping\": null,\n \ + \ \"source\": null,\n \"source_transfer\": null,\n \"statement_descriptor\"\ + : \"Liberapay 2140\",\n \"statement_descriptor_suffix\": null,\n \ + \ \"status\": \"pending\",\n \"transfer_data\": null,\n \ + \ \"transfer_group\": null\n }\n ],\n \"has_more\": false,\n \ + \ \"total_count\": 1,\n \"url\": \"/v1/charges?payment_intent=pi_3QUVAKFk4eGpfLOC15LPa2xf\"\ + \n },\n \"client_secret\": \"pi_3QUVAKFk4eGpfLOC15LPa2xf_secret_t9RAMmlU21I4y5PI8Tli9Fh04\"\ + ,\n \"confirmation_method\": \"automatic\",\n \"created\": 1733843760,\n\ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFf0Fa5fEHEJM\",\n \"description\"\ + : \"Liberapay\",\n \"invoice\": null,\n \"last_payment_error\": null,\n\ + \ \"latest_charge\": \"py_3QUVAKFk4eGpfLOC1oqdTAiR\",\n \"livemode\": false,\n\ + \ \"metadata\": {\n \"payin_id\": \"2140\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUVAJFk4eGpfLOCpk6sLxIo\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {\n \"sepa_debit\": {}\n },\n \"payment_method_types\": [\n \"sepa_debit\"\ + \n ],\n \"processing\": null,\n \"receipt_email\": null,\n \"review\"\ + : null,\n \"setup_future_usage\": null,\n \"shipping\": null,\n \"source\"\ + : null,\n \"statement_descriptor\": \"Liberapay 2140\",\n \"statement_descriptor_suffix\"\ + : null,\n \"status\": \"processing\",\n \"transfer_data\": null,\n \"transfer_group\"\ + : null\n}"} + headers: + 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'] + Connection: [keep-alive] + Content-Length: ['4176'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] + Content-Type: [application/json] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:01 GMT'] + Idempotency-Key: [payin_intent_2140] + Original-Request: [req_fyeH0WsyB77PH9] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_fyeH0WsyB77PH9] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJTWFk4eGpfLOC54xD73Kc + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVAJFk4eGpfLOCpk6sLxIo response: - body: {string: "{\n \"id\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - ,\n \"created\": 1671833542,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGXsC1dWM6IF\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"YH1BZCYIBHEQS7SW\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"YH1BZCYIBHEQS7SW\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"pm_1QUVAJFk4eGpfLOCpk6sLxIo\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843759,\n\ + \ \"customer\": \"cus_RNFf0Fa5fEHEJM\",\n \"livemode\": false,\n \"metadata\"\ + : {},\n \"sepa_debit\": {\n \"bank_code\": \"20041\",\n \"branch_code\"\ + : \"01005\",\n \"country\": \"FR\",\n \"fingerprint\": \"zdz3RiJj2F6Z582i\"\ + ,\n \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"2606\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1577'] + Content-Length: ['732'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:24 GMT'] - Request-Id: [req_AFzOMrql7uxVQL] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:01 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_KnGZtKUoZhNfSA] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJTWFk4eGpfLOC54xD73Kc + uri: https://api.stripe.com/v1/mandates/mandate_1QUVAKFk4eGpfLOCwo4hmFR5 response: - body: {string: "{\n \"id\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - ,\n \"created\": 1671833542,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGXsC1dWM6IF\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"YH1BZCYIBHEQS7SW\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"YH1BZCYIBHEQS7SW\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"mandate_1QUVAKFk4eGpfLOCwo4hmFR5\",\n \"object\"\ + : \"mandate\",\n \"customer_acceptance\": {\n \"accepted_at\": 1733843759,\n\ + \ \"online\": {\n \"ip_address\": \"0.0.0.0\",\n \"user_agent\"\ + : \"Pando-test-client/0.47\"\n },\n \"type\": \"online\"\n },\n \"\ + livemode\": false,\n \"multi_use\": {},\n \"payment_method\": \"pm_1QUVAJFk4eGpfLOCpk6sLxIo\"\ + ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \"reference\"\ + : \"URHR5P7TP6SH5RAW\",\n \"url\": \"https://payments.stripe.com/sepa_debit/mandate/mandate_test_YWNjdF8xQ2h5YXlGazRlR3BmTE9DLG1hbmRhdGVzdF9STkZmb3FMREZXdTJiTThiUnlTZGh3d1M1a2pnNjg50000MYJIi52I\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"status\": \"active\",\n\ + \ \"type\": \"multi_use\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1577'] + Content-Length: ['686'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:24 GMT'] - Request-Id: [req_cHJQEOgtgMVHNK] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:01 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_yEYax4ZGWWPaJe] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJTWFk4eGpfLOC54xD73Kc + uri: https://api.stripe.com/v1/mandates/mandate_1QUVAKFk4eGpfLOCwo4hmFR5 response: - body: {string: "{\n \"id\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - ,\n \"created\": 1671833542,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGXsC1dWM6IF\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"YH1BZCYIBHEQS7SW\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"YH1BZCYIBHEQS7SW\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"mandate_1QUVAKFk4eGpfLOCwo4hmFR5\",\n \"object\"\ + : \"mandate\",\n \"customer_acceptance\": {\n \"accepted_at\": 1733843759,\n\ + \ \"online\": {\n \"ip_address\": \"0.0.0.0\",\n \"user_agent\"\ + : \"Pando-test-client/0.47\"\n },\n \"type\": \"online\"\n },\n \"\ + livemode\": false,\n \"multi_use\": {},\n \"payment_method\": \"pm_1QUVAJFk4eGpfLOCpk6sLxIo\"\ + ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \"reference\"\ + : \"URHR5P7TP6SH5RAW\",\n \"url\": \"https://payments.stripe.com/sepa_debit/mandate/mandate_test_YWNjdF8xQ2h5YXlGazRlR3BmTE9DLG1hbmRhdGVzdF9STkZmb3FMREZXdTJiTThiUnlTZGh3d1M1a2pnNjg50000MYJIi52I\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"status\": \"active\",\n\ + \ \"type\": \"multi_use\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1577'] + Content-Length: ['686'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:24 GMT'] - Request-Id: [req_npimHQyqC1q5m9] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:01 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_b5a92XTkQ1eke8] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJTWFk4eGpfLOC54xD73Kc + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVAJFk4eGpfLOCpk6sLxIo response: - body: {string: "{\n \"id\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - ,\n \"created\": 1671833542,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGXsC1dWM6IF\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"YH1BZCYIBHEQS7SW\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"YH1BZCYIBHEQS7SW\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"pm_1QUVAJFk4eGpfLOCpk6sLxIo\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843759,\n\ + \ \"customer\": \"cus_RNFf0Fa5fEHEJM\",\n \"livemode\": false,\n \"metadata\"\ + : {},\n \"sepa_debit\": {\n \"bank_code\": \"20041\",\n \"branch_code\"\ + : \"01005\",\n \"country\": \"FR\",\n \"fingerprint\": \"zdz3RiJj2F6Z582i\"\ + ,\n \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"2606\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1577'] + Content-Length: ['732'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:25 GMT'] - Request-Id: [req_w7H5nCQW13f13P] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:02 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_UaXJwOOfzZKstv] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/charges/py_1MIJTXFk4eGpfLOCQrMpDNYb + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVAJFk4eGpfLOCpk6sLxIo response: - body: {string: "{\n \"id\": \"py_1MIJTXFk4eGpfLOCQrMpDNYb\",\n \"object\": \"\ - charge\",\n \"amount\": 10000,\n \"amount_captured\": 10000,\n \"amount_refunded\"\ - : 0,\n \"application\": null,\n \"application_fee\": null,\n \"application_fee_amount\"\ - : null,\n \"balance_transaction\": null,\n \"billing_details\": {\n \"\ - address\": {\n \"city\": null,\n \"country\": \"FR\",\n \"\ - line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n \ - \ \"state\": null\n },\n \"email\": \"donor@example.com\",\n \"\ - name\": \"Jane Doe\",\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ - : null,\n \"captured\": true,\n \"created\": 1671833543,\n \"currency\"\ - : \"eur\",\n \"customer\": \"cus_N2OGXsC1dWM6IF\",\n \"description\": \"\ - Liberapay\",\n \"destination\": null,\n \"dispute\": null,\n \"disputed\"\ - : false,\n \"failure_balance_transaction\": null,\n \"failure_code\": null,\n\ - \ \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\": null,\n\ - \ \"livemode\": false,\n \"metadata\": {\n \"payin_id\": \"2240\"\n \ - \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \"outcome\": {\n \ - \ \"network_status\": \"approved_by_network\",\n \"reason\": null,\n \ - \ \"risk_level\": \"not_assessed\",\n \"seller_message\": \"Payment complete.\"\ - ,\n \"type\": \"authorized\"\n },\n \"paid\": false,\n \"payment_intent\"\ - : null,\n \"payment_method\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\",\n \"payment_method_details\"\ - : {\n \"sepa_debit\": {\n \"bank_code\": \"20041\",\n \"branch_code\"\ - : \"01005\",\n \"country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\"\ - ,\n \"last4\": \"2606\",\n \"mandate\": null\n },\n \"type\"\ - : \"sepa_debit\"\n },\n \"receipt_email\": null,\n \"receipt_number\":\ - \ null,\n \"receipt_url\": null,\n \"refunded\": false,\n \"refunds\":\ - \ {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ - \ \"total_count\": 0,\n \"url\": \"/v1/charges/py_1MIJTXFk4eGpfLOCQrMpDNYb/refunds\"\ - \n },\n \"review\": null,\n \"shipping\": null,\n \"source\": {\n \"\ - id\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\",\n \"object\": \"source\",\n \ - \ \"amount\": null,\n \"client_secret\": \"src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - ,\n \"created\": 1671833543,\n \"currency\": \"eur\",\n \"customer\"\ - : \"cus_N2OGXsC1dWM6IF\",\n \"flow\": \"none\",\n \"livemode\": false,\n\ - \ \"mandate\": {\n \"acceptance\": {\n \"date\": null,\n \ - \ \"ip\": null,\n \"offline\": null,\n \"online\": null,\n\ - \ \"status\": \"pending\",\n \"type\": null,\n \"user_agent\"\ - : null\n },\n \"amount\": null,\n \"currency\": null,\n \ - \ \"interval\": \"variable\",\n \"notification_method\": \"none\",\n\ - \ \"reference\": \"YH1BZCYIBHEQS7SW\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n\ - \ \"city\": null,\n \"country\": \"FR\",\n \"line1\"\ - : null,\n \"line2\": null,\n \"postal_code\": null,\n \ - \ \"state\": null\n },\n \"email\": \"donor@example.com\",\n \ - \ \"name\": \"Jane Doe\",\n \"phone\": null,\n \"verified_address\"\ - : null,\n \"verified_email\": null,\n \"verified_name\": null,\n\ - \ \"verified_phone\": null\n },\n \"sepa_debit\": {\n \"bank_code\"\ - : \"20041\",\n \"branch_code\": \"01005\",\n \"country\": \"FR\"\ - ,\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\": \"2606\"\ - ,\n \"mandate_reference\": \"YH1BZCYIBHEQS7SW\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\"\ - ,\n \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n },\n \"\ - source_transfer\": null,\n \"statement_descriptor\": \"Liberapay 2240\",\n\ - \ \"statement_descriptor_suffix\": null,\n \"status\": \"pending\",\n \"\ - transfer_data\": null,\n \"transfer_group\": null\n}"} - headers: - Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - Access-Control-Max-Age: ['300'] - Cache-Control: ['no-cache, no-store'] - Connection: [keep-alive] - Content-Length: ['3709'] - Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:25 GMT'] - Request-Id: [req_PfQiF2HFGMSev5] + body: {string: "{\n \"id\": \"pm_1QUVAJFk4eGpfLOCpk6sLxIo\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843759,\n\ + \ \"customer\": \"cus_RNFf0Fa5fEHEJM\",\n \"livemode\": false,\n \"metadata\"\ + : {},\n \"sepa_debit\": {\n \"bank_code\": \"20041\",\n \"branch_code\"\ + : \"01005\",\n \"country\": \"FR\",\n \"fingerprint\": \"zdz3RiJj2F6Z582i\"\ + ,\n \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"2606\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} + headers: + 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'] + Connection: [keep-alive] + Content-Length: ['732'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] + Content-Type: [application/json] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:02 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_dYRZzWhbCq0nGz] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/charges/py_1MIJTXFk4eGpfLOCQrMpDNYb + uri: https://api.stripe.com/v1/charges/py_3QUVAKFk4eGpfLOC1oqdTAiR response: - body: {string: "{\n \"id\": \"py_1MIJTXFk4eGpfLOCQrMpDNYb\",\n \"object\": \"\ + body: {string: "{\n \"id\": \"py_3QUVAKFk4eGpfLOC1oqdTAiR\",\n \"object\": \"\ charge\",\n \"amount\": 10000,\n \"amount_captured\": 10000,\n \"amount_refunded\"\ : 0,\n \"application\": null,\n \"application_fee\": null,\n \"application_fee_amount\"\ - : null,\n \"balance_transaction\": \"txn_1MIJTdFk4eGpfLOCNPO5x63l\",\n \"\ + : null,\n \"balance_transaction\": \"txn_3QUVAKFk4eGpfLOC1T6Hb1xW\",\n \"\ billing_details\": {\n \"address\": {\n \"city\": null,\n \"\ - country\": \"FR\",\n \"line1\": null,\n \"line2\": null,\n \ - \ \"postal_code\": null,\n \"state\": null\n },\n \"email\": \"\ - donor@example.com\",\n \"name\": \"Jane Doe\",\n \"phone\": null\n \ - \ },\n \"calculated_statement_descriptor\": null,\n \"captured\": true,\n\ - \ \"created\": 1671833543,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGXsC1dWM6IF\",\n \"description\": \"Liberapay\",\n \"destination\"\ - : null,\n \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ - : null,\n \"failure_code\": null,\n \"failure_message\": null,\n \"fraud_details\"\ - : {},\n \"invoice\": null,\n \"livemode\": false,\n \"metadata\": {\n \ - \ \"payin_id\": \"2240\"\n },\n \"on_behalf_of\": null,\n \"order\":\ - \ null,\n \"outcome\": {\n \"network_status\": \"approved_by_network\"\ - ,\n \"reason\": null,\n \"risk_level\": \"not_assessed\",\n \"seller_message\"\ - : \"Payment complete.\",\n \"type\": \"authorized\"\n },\n \"paid\":\ - \ true,\n \"payment_intent\": null,\n \"payment_method\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\"\ - ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \"bank_code\"\ - : \"20041\",\n \"branch_code\": \"01005\",\n \"country\": \"FR\"\ - ,\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\": \"2606\"\ - ,\n \"mandate\": null\n },\n \"type\": \"sepa_debit\"\n },\n \ + country\": null,\n \"line1\": null,\n \"line2\": null,\n \"\ + postal_code\": null,\n \"state\": null\n },\n \"email\": \"jane.doe@example.com\"\ + ,\n \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ + : null,\n \"captured\": true,\n \"created\": 1733843760,\n \"currency\"\ + : \"eur\",\n \"customer\": \"cus_RNFf0Fa5fEHEJM\",\n \"description\": \"\ + Liberapay\",\n \"destination\": null,\n \"dispute\": null,\n \"disputed\"\ + : false,\n \"failure_balance_transaction\": null,\n \"failure_code\": null,\n\ + \ \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\": null,\n\ + \ \"livemode\": false,\n \"metadata\": {\n \"payin_id\": \"2140\"\n \ + \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \"outcome\": {\n \ + \ \"network_advice_code\": null,\n \"network_decline_code\": null,\n \ + \ \"network_status\": \"approved_by_network\",\n \"reason\": null,\n\ + \ \"risk_level\": \"not_assessed\",\n \"seller_message\": \"Payment\ + \ complete.\",\n \"type\": \"authorized\"\n },\n \"paid\": true,\n \"\ + payment_intent\": \"pi_3QUVAKFk4eGpfLOC15LPa2xf\",\n \"payment_method\":\ + \ \"pm_1QUVAJFk4eGpfLOCpk6sLxIo\",\n \"payment_method_details\": {\n \"\ + sepa_debit\": {\n \"bank_code\": \"20041\",\n \"branch_code\": \"\ + 01005\",\n \"country\": \"FR\",\n \"fingerprint\": \"T8MDJUvoericCF3x\"\ + ,\n \"last4\": \"2606\",\n \"mandate\": \"mandate_1QUVAKFk4eGpfLOCwo4hmFR5\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"radar_options\": {},\n \ \ \"receipt_email\": null,\n \"receipt_number\": null,\n \"receipt_url\"\ - : \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKNPPmJ0GMgY-sUQ5bL86LBYN9yyeJ8g7s9sRpSlqkQ02p5WtAteFmuhSqKTKpuW3CXaqi-yLftec7v8O\"\ + : \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKLy24boGMgbS1h2V_Mo6LBYYhZsTVVIPUPpY-zXFGjxjrm4Q10FlQ9HtBZyL6B0Kl6WE_PBCcbouYwOo\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\": \"list\",\n \ \ \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \ - \ \"url\": \"/v1/charges/py_1MIJTXFk4eGpfLOCQrMpDNYb/refunds\"\n },\n \"\ - review\": null,\n \"shipping\": null,\n \"source\": {\n \"id\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\"\ - ,\n \"object\": \"source\",\n \"amount\": null,\n \"client_secret\"\ - : \"src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\",\n \"created\": 1671833543,\n\ - \ \"currency\": \"eur\",\n \"customer\": \"cus_N2OGXsC1dWM6IF\",\n \ - \ \"flow\": \"none\",\n \"livemode\": false,\n \"mandate\": {\n \ - \ \"acceptance\": {\n \"date\": null,\n \"ip\": null,\n \ - \ \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n \ - \ },\n \"amount\": null,\n \"currency\": null,\n \"interval\"\ - : \"variable\",\n \"notification_method\": \"none\",\n \"reference\"\ - : \"YH1BZCYIBHEQS7SW\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n\ - \ \"city\": null,\n \"country\": \"FR\",\n \"line1\"\ - : null,\n \"line2\": null,\n \"postal_code\": null,\n \ - \ \"state\": null\n },\n \"email\": \"donor@example.com\",\n \ - \ \"name\": \"Jane Doe\",\n \"phone\": null,\n \"verified_address\"\ - : null,\n \"verified_email\": null,\n \"verified_name\": null,\n\ - \ \"verified_phone\": null\n },\n \"sepa_debit\": {\n \"bank_code\"\ - : \"20041\",\n \"branch_code\": \"01005\",\n \"country\": \"FR\"\ - ,\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\": \"2606\"\ - ,\n \"mandate_reference\": \"YH1BZCYIBHEQS7SW\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\"\ - ,\n \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n },\n \"\ - source_transfer\": null,\n \"statement_descriptor\": \"Liberapay 2240\",\n\ - \ \"statement_descriptor_suffix\": null,\n \"status\": \"succeeded\",\n\ - \ \"transfer_data\": null,\n \"transfer_group\": null\n}"} + \ \"url\": \"/v1/charges/py_3QUVAKFk4eGpfLOC1oqdTAiR/refunds\"\n },\n \"\ + review\": null,\n \"shipping\": null,\n \"source\": null,\n \"source_transfer\"\ + : null,\n \"statement_descriptor\": \"Liberapay 2140\",\n \"statement_descriptor_suffix\"\ + : null,\n \"status\": \"succeeded\",\n \"transfer_data\": null,\n \"transfer_group\"\ + : null\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['3890'] + Content-Length: ['2348'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:35 GMT'] - Request-Id: [req_101XMynfunyu1G] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:12 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_GfgaOTdlhgTNTI] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/balance_transactions/txn_1MIJTdFk4eGpfLOCNPO5x63l + uri: https://api.stripe.com/v1/balance_transactions/txn_3QUVAKFk4eGpfLOC1T6Hb1xW response: - body: {string: "{\n \"id\": \"txn_1MIJTdFk4eGpfLOCNPO5x63l\",\n \"object\":\ - \ \"balance_transaction\",\n \"amount\": 10000,\n \"available_on\": 1672272000,\n\ - \ \"created\": 1671833548,\n \"currency\": \"eur\",\n \"description\":\ + body: {string: "{\n \"id\": \"txn_3QUVAKFk4eGpfLOC1T6Hb1xW\",\n \"object\":\ + \ \"balance_transaction\",\n \"amount\": 10000,\n \"available_on\": 1734652800,\n\ + \ \"created\": 1733843766,\n \"currency\": \"eur\",\n \"description\":\ \ \"Liberapay\",\n \"exchange_rate\": null,\n \"fee\": 35,\n \"fee_details\"\ : [\n {\n \"amount\": 35,\n \"application\": null,\n \"\ currency\": \"eur\",\n \"description\": \"Stripe processing fees\",\n\ \ \"type\": \"stripe_fee\"\n }\n ],\n \"net\": 9965,\n \"reporting_category\"\ - : \"charge\",\n \"source\": \"py_1MIJTXFk4eGpfLOCQrMpDNYb\",\n \"status\"\ + : \"charge\",\n \"source\": \"py_3QUVAKFk4eGpfLOC1oqdTAiR\",\n \"status\"\ : \"pending\",\n \"type\": \"payment\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] Content-Length: ['558'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:36 GMT'] - Request-Id: [req_d1OhLyXq0JwEIB] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:13 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_IUlCy4Rj4g9Efp] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=4983¤cy=EUR&description=secret+donation+for+creator_1+via+Liberapay&destination=acct_1MIJTGFsLJG8wY8M&metadata[payin_transfer_id]=2240&source_transaction=py_1MIJTXFk4eGpfLOCQrMpDNYb + body: amount=4983¤cy=EUR&description=secret+donation+for+creator_1+via+Liberapay&destination=acct_1QUVA3Fw8sDQhJMt&metadata[payin_transfer_id]=2140&source_transaction=py_3QUVAKFk4eGpfLOC1oqdTAiR headers: {} method: POST uri: https://api.stripe.com/v1/transfers response: - body: {string: "{\n \"id\": \"tr_1MIJTkFk4eGpfLOCVbbGl3hL\",\n \"object\": \"\ + body: {string: "{\n \"id\": \"tr_3QUVAKFk4eGpfLOC18la0E5j\",\n \"object\": \"\ transfer\",\n \"amount\": 4983,\n \"amount_reversed\": 0,\n \"balance_transaction\"\ - : \"txn_1MIJTkFk4eGpfLOCMgak0BgI\",\n \"created\": 1671833556,\n \"currency\"\ + : \"txn_3QUVAKFk4eGpfLOC1CTq1QGs\",\n \"created\": 1733843773,\n \"currency\"\ : \"eur\",\n \"description\": \"secret donation for creator_1 via Liberapay\"\ - ,\n \"destination\": \"acct_1MIJTGFsLJG8wY8M\",\n \"destination_payment\"\ - : \"py_1MIJTkFsLJG8wY8MB3s6mSua\",\n \"livemode\": false,\n \"metadata\"\ - : {\n \"payin_transfer_id\": \"2240\"\n },\n \"reversals\": {\n \"\ + ,\n \"destination\": \"acct_1QUVA3Fw8sDQhJMt\",\n \"destination_payment\"\ + : \"py_1QUVAXFw8sDQhJMto7XGwbH6\",\n \"livemode\": false,\n \"metadata\"\ + : {\n \"payin_transfer_id\": \"2140\"\n },\n \"reversals\": {\n \"\ object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/transfers/tr_1MIJTkFk4eGpfLOCVbbGl3hL/reversals\"\ - \n },\n \"reversed\": false,\n \"source_transaction\": \"py_1MIJTXFk4eGpfLOCQrMpDNYb\"\ - ,\n \"source_type\": \"card\",\n \"transfer_group\": \"group_py_1MIJTXFk4eGpfLOCQrMpDNYb\"\ + : 0,\n \"url\": \"/v1/transfers/tr_3QUVAKFk4eGpfLOC18la0E5j/reversals\"\ + \n },\n \"reversed\": false,\n \"source_transaction\": \"py_3QUVAKFk4eGpfLOC1oqdTAiR\"\ + ,\n \"source_type\": \"card\",\n \"transfer_group\": \"group_pi_3QUVAKFk4eGpfLOC15LPa2xf\"\ \n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] Content-Length: ['774'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:37 GMT'] - Idempotency-Key: [payin_transfer_2240] - Original-Request: [req_q4XDR61qofc0KM] - Request-Id: [req_q4XDR61qofc0KM] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:14 GMT'] + Idempotency-Key: [payin_transfer_2140] + Original-Request: [req_HwN0qPIgKbcHmq] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_HwN0qPIgKbcHmq] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/charges/py_1MIJTkFsLJG8wY8MB3s6mSua + uri: https://api.stripe.com/v1/charges/py_1QUVAXFw8sDQhJMto7XGwbH6 response: - body: {string: "{\n \"id\": \"py_1MIJTkFsLJG8wY8MB3s6mSua\",\n \"object\": \"\ + body: {string: "{\n \"id\": \"py_1QUVAXFw8sDQhJMto7XGwbH6\",\n \"object\": \"\ charge\",\n \"amount\": 4983,\n \"amount_captured\": 4983,\n \"amount_refunded\"\ : 0,\n \"application\": \"ca_DEYxiYHBHZtGj32l9uczcsunbQOcRq8H\",\n \"application_fee\"\ : null,\n \"application_fee_amount\": null,\n \"balance_transaction\": \"\ - txn_1MIJTlFsLJG8wY8M48dNHfkI\",\n \"billing_details\": {\n \"address\"\ + txn_1QUVAXFw8sDQhJMtcUnZdct3\",\n \"billing_details\": {\n \"address\"\ : {\n \"city\": null,\n \"country\": null,\n \"line1\": null,\n\ \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ \ },\n \"email\": null,\n \"name\": null,\n \"phone\": null\n\ \ },\n \"calculated_statement_descriptor\": null,\n \"captured\": true,\n\ - \ \"created\": 1671833557,\n \"currency\": \"eur\",\n \"customer\": null,\n\ + \ \"created\": 1733843773,\n \"currency\": \"eur\",\n \"customer\": null,\n\ \ \"description\": null,\n \"destination\": null,\n \"dispute\": null,\n\ \ \"disputed\": false,\n \"failure_balance_transaction\": null,\n \"failure_code\"\ : null,\n \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\"\ @@ -1820,90 +2048,158 @@ interactions: payment_intent\": null,\n \"payment_method\": null,\n \"payment_method_details\"\ : {\n \"stripe_account\": {},\n \"type\": \"stripe_account\"\n },\n\ \ \"receipt_email\": null,\n \"receipt_number\": null,\n \"receipt_url\"\ - : \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xTUlKVEdGc0xKRzh3WThNKNXPmJ0GMgZrFZiOtDc6LBbZpU2kpcb6YakYZUMj0CiKbWiifpLUrd1gYBrHDYX32JbWZaaXJdNSAJ1Z\"\ + : \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xUVVWQTNGdzhzRFFoSk10KL624boGMgZuqAYGgKs6LBb2C9Y-FpV-VR3KbfEeAwDRjbfQs568wvQc38eiS5CN3ygplCdsKAmH7ybp\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\": \"list\",\n \ \ \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \ - \ \"url\": \"/v1/charges/py_1MIJTkFsLJG8wY8MB3s6mSua/refunds\"\n },\n \"\ + \ \"url\": \"/v1/charges/py_1QUVAXFw8sDQhJMto7XGwbH6/refunds\"\n },\n \"\ review\": null,\n \"shipping\": null,\n \"source\": {\n \"id\": \"acct_1ChyayFk4eGpfLOC\"\ ,\n \"object\": \"account\",\n \"application_icon\": \"https://files.stripe.com/links/fl_live_pcO27i8SSea27yZPmUHDPhiF\"\ - ,\n \"application_logo\": \"https://s3.amazonaws.com/stripe-uploads/acct_1ChyayFk4eGpfLOCapplication-logo-icon_v2_yellow_r.100.png\"\ + ,\n \"application_logo\": \"https://files.stripe.com/links/MDB8YWNjdF8xQ2h5YXlGazRlR3BmTE9DfGZsX2xpdmVfVXlVTEhzWmxkR1dxSWFBTldwc05KTVJh00Fmg4BAPU\"\ ,\n \"application_name\": \"Liberapay\",\n \"application_url\": \"https://liberapay.com/\"\ - \n },\n \"source_transfer\": \"tr_1MIJTkFk4eGpfLOCVbbGl3hL\",\n \"statement_descriptor\"\ + \n },\n \"source_transfer\": \"tr_3QUVAKFk4eGpfLOC18la0E5j\",\n \"statement_descriptor\"\ : null,\n \"statement_descriptor_suffix\": null,\n \"status\": \"succeeded\"\ ,\n \"transfer_data\": null,\n \"transfer_group\": null\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['2184'] + Content-Length: ['2199'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:38 GMT'] - Request-Id: [req_W9oS76xjoxnH0m] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:14 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_3if4Cl2AFB5K4f] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Account: [acct_1MIJTGFsLJG8wY8M] + Stripe-Account: [acct_1QUVA3Fw8sDQhJMt] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: description=secret+donation+for+creator_1+via+Liberapay&metadata[liberapay_transfer_id]=2240 + body: description=secret+donation+for+creator_1+via+Liberapay&metadata[liberapay_transfer_id]=2140 headers: {} method: POST - uri: https://api.stripe.com/v1/charges/py_1MIJTkFsLJG8wY8MB3s6mSua + uri: https://api.stripe.com/v1/charges/py_1QUVAXFw8sDQhJMto7XGwbH6 response: - body: {string: "{\n \"id\": \"py_1MIJTkFsLJG8wY8MB3s6mSua\",\n \"object\": \"\ + body: {string: "{\n \"id\": \"py_1QUVAXFw8sDQhJMto7XGwbH6\",\n \"object\": \"\ charge\",\n \"amount\": 4983,\n \"amount_captured\": 4983,\n \"amount_refunded\"\ : 0,\n \"application\": \"ca_DEYxiYHBHZtGj32l9uczcsunbQOcRq8H\",\n \"application_fee\"\ : null,\n \"application_fee_amount\": null,\n \"balance_transaction\": \"\ - txn_1MIJTlFsLJG8wY8M48dNHfkI\",\n \"billing_details\": {\n \"address\"\ + txn_1QUVAXFw8sDQhJMtcUnZdct3\",\n \"billing_details\": {\n \"address\"\ : {\n \"city\": null,\n \"country\": null,\n \"line1\": null,\n\ \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ \ },\n \"email\": null,\n \"name\": null,\n \"phone\": null\n\ \ },\n \"calculated_statement_descriptor\": null,\n \"captured\": true,\n\ - \ \"created\": 1671833557,\n \"currency\": \"eur\",\n \"customer\": null,\n\ + \ \"created\": 1733843773,\n \"currency\": \"eur\",\n \"customer\": null,\n\ \ \"description\": \"secret donation for creator_1 via Liberapay\",\n \"\ destination\": null,\n \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ : null,\n \"failure_code\": null,\n \"failure_message\": null,\n \"fraud_details\"\ : {},\n \"invoice\": null,\n \"livemode\": false,\n \"metadata\": {\n \ - \ \"liberapay_transfer_id\": \"2240\"\n },\n \"on_behalf_of\": null,\n\ + \ \"liberapay_transfer_id\": \"2140\"\n },\n \"on_behalf_of\": null,\n\ \ \"order\": null,\n \"outcome\": null,\n \"paid\": true,\n \"payment_intent\"\ : null,\n \"payment_method\": null,\n \"payment_method_details\": {\n \ \ \"stripe_account\": {},\n \"type\": \"stripe_account\"\n },\n \"receipt_email\"\ - : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xTUlKVEdGc0xKRzh3WThNKNbPmJ0GMgavOrTwjVQ6LBYnCuczlCfRDy8cSTdi69HXIB-PrkHKMjLetzbJSKMhK9o6HSSrGrYKx2AY\"\ + : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xUVVWQTNGdzhzRFFoSk10KL624boGMgYK08GkzVo6LBZkrHYrrRBCMPPZ_4fB-AV__8pXV4WEcnIgeS0NA79gGSCOjHU92NRByIkH\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\": \"list\",\n \ \ \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \ - \ \"url\": \"/v1/charges/py_1MIJTkFsLJG8wY8MB3s6mSua/refunds\"\n },\n \"\ + \ \"url\": \"/v1/charges/py_1QUVAXFw8sDQhJMto7XGwbH6/refunds\"\n },\n \"\ review\": null,\n \"shipping\": null,\n \"source\": {\n \"id\": \"acct_1ChyayFk4eGpfLOC\"\ ,\n \"object\": \"account\",\n \"application_icon\": \"https://files.stripe.com/links/fl_live_pcO27i8SSea27yZPmUHDPhiF\"\ - ,\n \"application_logo\": \"https://s3.amazonaws.com/stripe-uploads/acct_1ChyayFk4eGpfLOCapplication-logo-icon_v2_yellow_r.100.png\"\ + ,\n \"application_logo\": \"https://files.stripe.com/links/MDB8YWNjdF8xQ2h5YXlGazRlR3BmTE9DfGZsX2xpdmVfVXlVTEhzWmxkR1dxSWFBTldwc05KTVJh00Fmg4BAPU\"\ ,\n \"application_name\": \"Liberapay\",\n \"application_url\": \"https://liberapay.com/\"\ - \n },\n \"source_transfer\": \"tr_1MIJTkFk4eGpfLOCVbbGl3hL\",\n \"statement_descriptor\"\ + \n },\n \"source_transfer\": \"tr_3QUVAKFk4eGpfLOC18la0E5j\",\n \"statement_descriptor\"\ : null,\n \"statement_descriptor_suffix\": null,\n \"status\": \"succeeded\"\ ,\n \"transfer_data\": null,\n \"transfer_group\": null\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['2264'] + Content-Length: ['2279'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:38 GMT'] - Idempotency-Key: [ffdf723e-c0ef-4949-9b78-48b88241c6cb] - Original-Request: [req_3jWgBNxQ5Dnqrv] - Request-Id: [req_3jWgBNxQ5Dnqrv] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:14 GMT'] + Idempotency-Key: [20038763-e510-432d-9e9a-24fb84b61003] + Original-Request: [req_NiPkUFxIkg7Pz5] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_NiPkUFxIkg7Pz5] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Account: [acct_1MIJTGFsLJG8wY8M] + Stripe-Account: [acct_1QUVA3Fw8sDQhJMt] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] + status: {code: 200, message: OK} +- request: + body: null + headers: {} + method: GET + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVAJFk4eGpfLOCpk6sLxIo + response: + body: {string: "{\n \"id\": \"pm_1QUVAJFk4eGpfLOCpk6sLxIo\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843759,\n\ + \ \"customer\": \"cus_RNFf0Fa5fEHEJM\",\n \"livemode\": false,\n \"metadata\"\ + : {},\n \"sepa_debit\": {\n \"bank_code\": \"20041\",\n \"branch_code\"\ + : \"01005\",\n \"country\": \"FR\",\n \"fingerprint\": \"zdz3RiJj2F6Z582i\"\ + ,\n \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"2606\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} + headers: + 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'] + Connection: [keep-alive] + Content-Length: ['732'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] + Content-Type: [application/json] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:14 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_WszwrDPkYuf4rD] + Server: [nginx] + Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null @@ -1911,281 +2207,361 @@ interactions: method: GET uri: https://api.stripe.com/v1/payment_methods/pm_card_visa response: - body: {string: "{\n \"id\": \"pm_1MIJTmFk4eGpfLOCwJoK0x4c\",\n \"object\": \"\ - payment_method\",\n \"billing_details\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": null,\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": null,\n \"name\": null,\n \"phone\": null\n },\n \"\ - card\": {\n \"brand\": \"visa\",\n \"checks\": {\n \"address_line1_check\"\ - : null,\n \"address_postal_code_check\": null,\n \"cvc_check\":\ - \ null\n },\n \"country\": \"US\",\n \"exp_month\": 12,\n \"exp_year\"\ - : 2023,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ + body: {string: "{\n \"id\": \"pm_1QUVAZFk4eGpfLOCIyhcBYeW\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": null,\n \"name\": null,\n\ + \ \"phone\": null\n },\n \"card\": {\n \"brand\": \"visa\",\n \"\ + checks\": {\n \"address_line1_check\": null,\n \"address_postal_code_check\"\ + : null,\n \"cvc_check\": \"unchecked\"\n },\n \"country\": \"US\"\ + ,\n \"display_brand\": \"visa\",\n \"exp_month\": 12,\n \"exp_year\"\ + : 2025,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ ,\n \"generated_from\": null,\n \"last4\": \"4242\",\n \"networks\"\ : {\n \"available\": [\n \"visa\"\n ],\n \"preferred\"\ : null\n },\n \"three_d_secure_usage\": {\n \"supported\": true\n\ - \ },\n \"wallet\": null\n },\n \"created\": 1671833558,\n \"customer\"\ + \ },\n \"wallet\": null\n },\n \"created\": 1733843775,\n \"customer\"\ : null,\n \"livemode\": false,\n \"metadata\": {},\n \"type\": \"card\"\ \n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['924'] + Content-Length: ['996'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:38 GMT'] - Request-Id: [req_FAuQXILnRzuFKR] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:15 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_9VX1wpQNOIv09M] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: email=donor%40example.com&payment_method=pm_1MIJTmFk4eGpfLOCwJoK0x4c + body: email=donor%40example.com&metadata[participant_id]=2150&payment_method=pm_1QUVAZFk4eGpfLOCIyhcBYeW&preferred_locales[0]=en headers: {} method: POST uri: https://api.stripe.com/v1/customers response: - body: {string: "{\n \"id\": \"cus_N2OGC6uKPydNMP\",\n \"object\": \"customer\"\ + body: {string: "{\n \"id\": \"cus_RNFf8FefRq22sO\",\n \"object\": \"customer\"\ ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ - created\": 1671833559,\n \"currency\": null,\n \"default_currency\": null,\n\ + created\": 1733843775,\n \"currency\": null,\n \"default_currency\": null,\n\ \ \"default_source\": null,\n \"delinquent\": false,\n \"description\"\ : null,\n \"discount\": null,\n \"email\": \"donor@example.com\",\n \"\ - invoice_prefix\": \"B1D982AD\",\n \"invoice_settings\": {\n \"custom_fields\"\ + invoice_prefix\": \"8A2294F3\",\n \"invoice_settings\": {\n \"custom_fields\"\ : null,\n \"default_payment_method\": null,\n \"footer\": null,\n \ \ \"rendering_options\": null\n },\n \"livemode\": false,\n \"metadata\"\ - : {},\n \"name\": null,\n \"next_invoice_sequence\": 1,\n \"phone\": null,\n\ - \ \"preferred_locales\": [],\n \"shipping\": null,\n \"sources\": {\n \ - \ \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n \ - \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_N2OGC6uKPydNMP/sources\"\ - \n },\n \"subscriptions\": {\n \"object\": \"list\",\n \"data\": [],\n\ - \ \"has_more\": false,\n \"total_count\": 0,\n \"url\": \"/v1/customers/cus_N2OGC6uKPydNMP/subscriptions\"\ + : {\n \"participant_id\": \"2150\"\n },\n \"name\": null,\n \"next_invoice_sequence\"\ + : 1,\n \"phone\": null,\n \"preferred_locales\": [\n \"en\"\n ],\n \ + \ \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n \"\ + data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \"url\"\ + : \"/v1/customers/cus_RNFf8FefRq22sO/sources\"\n },\n \"subscriptions\"\ + : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ + \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_RNFf8FefRq22sO/subscriptions\"\ \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_N2OGC6uKPydNMP/tax_ids\"\n },\n \"\ + : 0,\n \"url\": \"/v1/customers/cus_RNFf8FefRq22sO/tax_ids\"\n },\n \"\ tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1217'] + Content-Length: ['1261'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:39 GMT'] - Idempotency-Key: [create_customer_for_participant_2250_with_pm_1MIJTmFk4eGpfLOCwJoK0x4c] - Original-Request: [req_30cRRYVQzg1ncg] - Request-Id: [req_30cRRYVQzg1ncg] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:15 GMT'] + Idempotency-Key: [create_customer_for_participant_2150_with_pm_1QUVAZFk4eGpfLOCIyhcBYeW] + Original-Request: [req_ijJ2e4y1jw8GHI] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_ijJ2e4y1jw8GHI] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=2500&confirm=True¤cy=eur&customer=cus_N2OGC6uKPydNMP&description=Liberapay&metadata[payin_id]=2250&off_session=False&payment_method=pm_1MIJTmFk4eGpfLOCwJoK0x4c&return_url=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2F2250&setup_future_usage=off_session&statement_descriptor=Liberapay+2250 + body: amount=2500&confirm=True¤cy=eur&customer=cus_RNFf8FefRq22sO&description=Liberapay&metadata[payin_id]=2150&off_session=False&payment_method=pm_1QUVAZFk4eGpfLOCIyhcBYeW&payment_method_types[0]=card&return_url=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2F2150&statement_descriptor=Liberapay+2150&setup_future_usage=off_session headers: {} method: POST uri: https://api.stripe.com/v1/payment_intents response: - body: {string: "{\n \"id\": \"pi_3MIJToFk4eGpfLOC1AxjmwEa\",\n \"object\": \"\ + body: {string: "{\n \"id\": \"pi_3QUVAaFk4eGpfLOC1rEPyaVN\",\n \"object\": \"\ payment_intent\",\n \"amount\": 2500,\n \"amount_capturable\": 0,\n \"\ amount_details\": {\n \"tip\": {}\n },\n \"amount_received\": 2500,\n\ \ \"application\": null,\n \"application_fee_amount\": null,\n \"automatic_payment_methods\"\ : null,\n \"canceled_at\": null,\n \"cancellation_reason\": null,\n \"\ capture_method\": \"automatic\",\n \"charges\": {\n \"object\": \"list\"\ - ,\n \"data\": [\n {\n \"id\": \"ch_3MIJToFk4eGpfLOC1EDKcBUo\"\ + ,\n \"data\": [\n {\n \"id\": \"ch_3QUVAaFk4eGpfLOC1sCf9Rz5\"\ ,\n \"object\": \"charge\",\n \"amount\": 2500,\n \"\ amount_captured\": 2500,\n \"amount_refunded\": 0,\n \"application\"\ : null,\n \"application_fee\": null,\n \"application_fee_amount\"\ - : null,\n \"balance_transaction\": \"txn_3MIJToFk4eGpfLOC1VBhptpp\"\ + : null,\n \"balance_transaction\": \"txn_3QUVAaFk4eGpfLOC17w2wTaB\"\ ,\n \"billing_details\": {\n \"address\": {\n \"\ city\": null,\n \"country\": null,\n \"line1\": null,\n\ \ \"line2\": null,\n \"postal_code\": null,\n \ \ \"state\": null\n },\n \"email\": null,\n \ \ \"name\": null,\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ - : \"LIBERAPAY 2250\",\n \"captured\": true,\n \"created\": 1671833560,\n\ - \ \"currency\": \"eur\",\n \"customer\": \"cus_N2OGC6uKPydNMP\"\ + : \"LIBERAPAY 2150\",\n \"captured\": true,\n \"created\": 1733843776,\n\ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFf8FefRq22sO\"\ ,\n \"description\": \"Liberapay\",\n \"destination\": null,\n\ \ \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ : null,\n \"failure_code\": null,\n \"failure_message\": null,\n\ \ \"fraud_details\": {},\n \"invoice\": null,\n \"livemode\"\ - : false,\n \"metadata\": {\n \"payin_id\": \"2250\"\n \ + : false,\n \"metadata\": {\n \"payin_id\": \"2150\"\n \ \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \ - \ \"outcome\": {\n \"network_status\": \"approved_by_network\"\ + \ \"outcome\": {\n \"network_advice_code\": null,\n \"\ + network_decline_code\": null,\n \"network_status\": \"approved_by_network\"\ ,\n \"reason\": null,\n \"risk_level\": \"normal\",\n \ - \ \"risk_score\": 15,\n \"seller_message\": \"Payment complete.\"\ + \ \"risk_score\": 18,\n \"seller_message\": \"Payment complete.\"\ ,\n \"type\": \"authorized\"\n },\n \"paid\": true,\n\ - \ \"payment_intent\": \"pi_3MIJToFk4eGpfLOC1AxjmwEa\",\n \"\ - payment_method\": \"pm_1MIJTmFk4eGpfLOCwJoK0x4c\",\n \"payment_method_details\"\ - : {\n \"card\": {\n \"brand\": \"visa\",\n \ - \ \"checks\": {\n \"address_line1_check\": null,\n \ - \ \"address_postal_code_check\": null,\n \"cvc_check\": null\n\ - \ },\n \"country\": \"US\",\n \"exp_month\"\ - : 12,\n \"exp_year\": 2023,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\"\ - ,\n \"funding\": \"credit\",\n \"installments\": null,\n\ - \ \"last4\": \"4242\",\n \"mandate\": null,\n \ - \ \"network\": \"visa\",\n \"three_d_secure\": null,\n \ - \ \"wallet\": null\n },\n \"type\": \"card\"\n \ - \ },\n \"receipt_email\": null,\n \"receipt_number\":\ - \ null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKNnPmJ0GMgYMn0tPYJo6LBaTXVhS_NKVOTa-RkBufe5Bj6huZNoYMfMd_rG_Mp3JeMi4Oqu779m60tMS\"\ + \ \"payment_intent\": \"pi_3QUVAaFk4eGpfLOC1rEPyaVN\",\n \"\ + payment_method\": \"pm_1QUVAZFk4eGpfLOCIyhcBYeW\",\n \"payment_method_details\"\ + : {\n \"card\": {\n \"amount_authorized\": 2500,\n \ + \ \"authorization_code\": null,\n \"brand\": \"visa\",\n\ + \ \"checks\": {\n \"address_line1_check\": null,\n\ + \ \"address_postal_code_check\": null,\n \"cvc_check\"\ + : \"pass\"\n },\n \"country\": \"US\",\n \ + \ \"exp_month\": 12,\n \"exp_year\": 2025,\n \"extended_authorization\"\ + : {\n \"status\": \"disabled\"\n },\n \"\ + fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ + ,\n \"incremental_authorization\": {\n \"status\"\ + : \"unavailable\"\n },\n \"installments\": null,\n \ + \ \"last4\": \"4242\",\n \"mandate\": null,\n \ + \ \"multicapture\": {\n \"status\": \"unavailable\"\n \ + \ },\n \"network\": \"visa\",\n \"network_token\"\ + : {\n \"used\": false\n },\n \"overcapture\"\ + : {\n \"maximum_amount_capturable\": 2500,\n \"\ + status\": \"unavailable\"\n },\n \"three_d_secure\"\ + : null,\n \"wallet\": null\n },\n \"type\": \"\ + card\"\n },\n \"radar_options\": {},\n \"receipt_email\"\ + : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKMG24boGMgbahOkyDYM6LBbCnMjQ2UBPeWhtcdf6fLgE6uqUAoXxcWT92oEkYU0JdJRNEtZ-1gL9eHQc\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\"\ : \"list\",\n \"data\": [],\n \"has_more\": false,\n \ - \ \"total_count\": 0,\n \"url\": \"/v1/charges/ch_3MIJToFk4eGpfLOC1EDKcBUo/refunds\"\ + \ \"total_count\": 0,\n \"url\": \"/v1/charges/ch_3QUVAaFk4eGpfLOC1sCf9Rz5/refunds\"\ \n },\n \"review\": null,\n \"shipping\": null,\n \ \ \"source\": null,\n \"source_transfer\": null,\n \"statement_descriptor\"\ - : \"Liberapay 2250\",\n \"statement_descriptor_suffix\": null,\n \ + : \"Liberapay 2150\",\n \"statement_descriptor_suffix\": null,\n \ \ \"status\": \"succeeded\",\n \"transfer_data\": null,\n \ \ \"transfer_group\": null\n }\n ],\n \"has_more\": false,\n\ - \ \"total_count\": 1,\n \"url\": \"/v1/charges?payment_intent=pi_3MIJToFk4eGpfLOC1AxjmwEa\"\ - \n },\n \"client_secret\": \"pi_3MIJToFk4eGpfLOC1AxjmwEa_secret_fjd8F58ogkTupSnx0xlEL6xVr\"\ - ,\n \"confirmation_method\": \"automatic\",\n \"created\": 1671833560,\n\ - \ \"currency\": \"eur\",\n \"customer\": \"cus_N2OGC6uKPydNMP\",\n \"description\"\ + \ \"total_count\": 1,\n \"url\": \"/v1/charges?payment_intent=pi_3QUVAaFk4eGpfLOC1rEPyaVN\"\ + \n },\n \"client_secret\": \"pi_3QUVAaFk4eGpfLOC1rEPyaVN_secret_OjhpFHAMwP2kRrxrMYvk5F66G\"\ + ,\n \"confirmation_method\": \"automatic\",\n \"created\": 1733843776,\n\ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFf8FefRq22sO\",\n \"description\"\ : \"Liberapay\",\n \"invoice\": null,\n \"last_payment_error\": null,\n\ - \ \"livemode\": false,\n \"metadata\": {\n \"payin_id\": \"2250\"\n \ - \ },\n \"next_action\": null,\n \"on_behalf_of\": null,\n \"payment_method\"\ - : \"pm_1MIJTmFk4eGpfLOCwJoK0x4c\",\n \"payment_method_options\": {\n \"\ - card\": {\n \"installments\": null,\n \"mandate_options\": null,\n\ - \ \"network\": null,\n \"request_three_d_secure\": \"automatic\"\ + \ \"latest_charge\": \"ch_3QUVAaFk4eGpfLOC1sCf9Rz5\",\n \"livemode\": false,\n\ + \ \"metadata\": {\n \"payin_id\": \"2150\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUVAZFk4eGpfLOCIyhcBYeW\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {\n \"card\": {\n \"installments\": null,\n \"mandate_options\"\ + : null,\n \"network\": null,\n \"request_three_d_secure\": \"automatic\"\ \n }\n },\n \"payment_method_types\": [\n \"card\"\n ],\n \"processing\"\ : null,\n \"receipt_email\": null,\n \"review\": null,\n \"setup_future_usage\"\ : \"off_session\",\n \"shipping\": null,\n \"source\": null,\n \"statement_descriptor\"\ - : \"Liberapay 2250\",\n \"statement_descriptor_suffix\": null,\n \"status\"\ + : \"Liberapay 2150\",\n \"statement_descriptor_suffix\": null,\n \"status\"\ : \"succeeded\",\n \"transfer_data\": null,\n \"transfer_group\": null\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['4589'] + Content-Length: ['5350'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:41 GMT'] - Idempotency-Key: [payin_intent_2250] - Original-Request: [req_6pUmAbJ2VilXTG] - Request-Id: [req_6pUmAbJ2VilXTG] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:17 GMT'] + Idempotency-Key: [payin_intent_2150] + Original-Request: [req_0hqejQmRrkyADY] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_0hqejQmRrkyADY] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/balance_transactions/txn_3MIJToFk4eGpfLOC1VBhptpp + uri: https://api.stripe.com/v1/balance_transactions/txn_3QUVAaFk4eGpfLOC17w2wTaB response: - body: {string: "{\n \"id\": \"txn_3MIJToFk4eGpfLOC1VBhptpp\",\n \"object\":\ - \ \"balance_transaction\",\n \"amount\": 2500,\n \"available_on\": 1672272000,\n\ - \ \"created\": 1671833560,\n \"currency\": \"eur\",\n \"description\":\ - \ \"Liberapay\",\n \"exchange_rate\": null,\n \"fee\": 98,\n \"fee_details\"\ - : [\n {\n \"amount\": 98,\n \"application\": null,\n \"\ + body: {string: "{\n \"id\": \"txn_3QUVAaFk4eGpfLOC17w2wTaB\",\n \"object\":\ + \ \"balance_transaction\",\n \"amount\": 2500,\n \"available_on\": 1734048000,\n\ + \ \"created\": 1733843776,\n \"currency\": \"eur\",\n \"description\":\ + \ \"Liberapay\",\n \"exchange_rate\": null,\n \"fee\": 106,\n \"fee_details\"\ + : [\n {\n \"amount\": 106,\n \"application\": null,\n \"\ currency\": \"eur\",\n \"description\": \"Stripe processing fees\",\n\ - \ \"type\": \"stripe_fee\"\n }\n ],\n \"net\": 2402,\n \"reporting_category\"\ - : \"charge\",\n \"source\": \"ch_3MIJToFk4eGpfLOC1EDKcBUo\",\n \"status\"\ + \ \"type\": \"stripe_fee\"\n }\n ],\n \"net\": 2394,\n \"reporting_category\"\ + : \"charge\",\n \"source\": \"ch_3QUVAaFk4eGpfLOC1sCf9Rz5\",\n \"status\"\ : \"pending\",\n \"type\": \"charge\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['556'] + Content-Length: ['558'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:41 GMT'] - Request-Id: [req_sNC53sb4O2E6it] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:17 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_hcCW4jvnJb9bLn] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/payment_methods/pm_1MIJTmFk4eGpfLOCwJoK0x4c - response: - body: {string: "{\n \"id\": \"pm_1MIJTmFk4eGpfLOCwJoK0x4c\",\n \"object\": \"\ - payment_method\",\n \"billing_details\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": null,\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": null,\n \"name\": null,\n \"phone\": null\n },\n \"\ - card\": {\n \"brand\": \"visa\",\n \"checks\": {\n \"address_line1_check\"\ - : null,\n \"address_postal_code_check\": null,\n \"cvc_check\":\ - \ null\n },\n \"country\": \"US\",\n \"exp_month\": 12,\n \"exp_year\"\ - : 2023,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVAZFk4eGpfLOCIyhcBYeW + response: + body: {string: "{\n \"id\": \"pm_1QUVAZFk4eGpfLOCIyhcBYeW\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": null,\n \"name\": null,\n\ + \ \"phone\": null\n },\n \"card\": {\n \"brand\": \"visa\",\n \"\ + checks\": {\n \"address_line1_check\": null,\n \"address_postal_code_check\"\ + : null,\n \"cvc_check\": \"pass\"\n },\n \"country\": \"US\",\n\ + \ \"display_brand\": \"visa\",\n \"exp_month\": 12,\n \"exp_year\"\ + : 2025,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ ,\n \"generated_from\": null,\n \"last4\": \"4242\",\n \"networks\"\ : {\n \"available\": [\n \"visa\"\n ],\n \"preferred\"\ : null\n },\n \"three_d_secure_usage\": {\n \"supported\": true\n\ - \ },\n \"wallet\": null\n },\n \"created\": 1671833558,\n \"customer\"\ - : \"cus_N2OGC6uKPydNMP\",\n \"livemode\": false,\n \"metadata\": {},\n \ + \ },\n \"wallet\": null\n },\n \"created\": 1733843775,\n \"customer\"\ + : \"cus_RNFf8FefRq22sO\",\n \"livemode\": false,\n \"metadata\": {},\n \ \ \"type\": \"card\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['940'] + Content-Length: ['1007'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:42 GMT'] - Request-Id: [req_hpNa36VQV5v2s5] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:17 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_2uKcmkkeigTTyK] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/payment_methods/pm_1MIJTmFk4eGpfLOCwJoK0x4c - response: - body: {string: "{\n \"id\": \"pm_1MIJTmFk4eGpfLOCwJoK0x4c\",\n \"object\": \"\ - payment_method\",\n \"billing_details\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": null,\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": null,\n \"name\": null,\n \"phone\": null\n },\n \"\ - card\": {\n \"brand\": \"visa\",\n \"checks\": {\n \"address_line1_check\"\ - : null,\n \"address_postal_code_check\": null,\n \"cvc_check\":\ - \ null\n },\n \"country\": \"US\",\n \"exp_month\": 12,\n \"exp_year\"\ - : 2023,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVAZFk4eGpfLOCIyhcBYeW + response: + body: {string: "{\n \"id\": \"pm_1QUVAZFk4eGpfLOCIyhcBYeW\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": null,\n \"name\": null,\n\ + \ \"phone\": null\n },\n \"card\": {\n \"brand\": \"visa\",\n \"\ + checks\": {\n \"address_line1_check\": null,\n \"address_postal_code_check\"\ + : null,\n \"cvc_check\": \"pass\"\n },\n \"country\": \"US\",\n\ + \ \"display_brand\": \"visa\",\n \"exp_month\": 12,\n \"exp_year\"\ + : 2025,\n \"fingerprint\": \"k6ycurEAdsI1uF3b\",\n \"funding\": \"credit\"\ ,\n \"generated_from\": null,\n \"last4\": \"4242\",\n \"networks\"\ : {\n \"available\": [\n \"visa\"\n ],\n \"preferred\"\ : null\n },\n \"three_d_secure_usage\": {\n \"supported\": true\n\ - \ },\n \"wallet\": null\n },\n \"created\": 1671833558,\n \"customer\"\ - : \"cus_N2OGC6uKPydNMP\",\n \"livemode\": false,\n \"metadata\": {},\n \ + \ },\n \"wallet\": null\n },\n \"created\": 1733843775,\n \"customer\"\ + : \"cus_RNFf8FefRq22sO\",\n \"livemode\": false,\n \"metadata\": {},\n \ \ \"type\": \"card\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['940'] + Content-Length: ['1007'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:42 GMT'] - Request-Id: [req_SFLEMgVWJhmp7o] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:18 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_1jpN8V1res9JIf] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null @@ -2193,260 +2569,327 @@ interactions: method: GET uri: https://api.stripe.com/v1/payment_methods/pm_card_jp response: - body: {string: "{\n \"id\": \"pm_1MIJTqFk4eGpfLOC6zTQ0hKC\",\n \"object\": \"\ - payment_method\",\n \"billing_details\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": null,\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": null,\n \"name\": null,\n \"phone\": null\n },\n \"\ - card\": {\n \"brand\": \"visa\",\n \"checks\": {\n \"address_line1_check\"\ - : null,\n \"address_postal_code_check\": null,\n \"cvc_check\":\ - \ null\n },\n \"country\": \"JP\",\n \"exp_month\": 12,\n \"exp_year\"\ - : 2023,\n \"fingerprint\": \"4heNPBHbDWXWyXBc\",\n \"funding\": \"credit\"\ + body: {string: "{\n \"id\": \"pm_1QUVAcFk4eGpfLOCRXROOYnn\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": null,\n \"name\": null,\n\ + \ \"phone\": null\n },\n \"card\": {\n \"brand\": \"visa\",\n \"\ + checks\": {\n \"address_line1_check\": null,\n \"address_postal_code_check\"\ + : null,\n \"cvc_check\": \"unchecked\"\n },\n \"country\": \"JP\"\ + ,\n \"display_brand\": \"visa\",\n \"exp_month\": 12,\n \"exp_year\"\ + : 2025,\n \"fingerprint\": \"4heNPBHbDWXWyXBc\",\n \"funding\": \"credit\"\ ,\n \"generated_from\": null,\n \"last4\": \"0003\",\n \"networks\"\ : {\n \"available\": [\n \"visa\"\n ],\n \"preferred\"\ : null\n },\n \"three_d_secure_usage\": {\n \"supported\": true\n\ - \ },\n \"wallet\": null\n },\n \"created\": 1671833562,\n \"customer\"\ + \ },\n \"wallet\": null\n },\n \"created\": 1733843778,\n \"customer\"\ : null,\n \"livemode\": false,\n \"metadata\": {},\n \"type\": \"card\"\ \n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['924'] + Content-Length: ['996'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:42 GMT'] - Request-Id: [req_zO7vcNv8ILkN9f] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:18 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_8Id1noUrKSnNIk] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: email=donor%40example.com&payment_method=pm_1MIJTqFk4eGpfLOC6zTQ0hKC + body: email=donor%40example.com&metadata[participant_id]=2160&payment_method=pm_1QUVAcFk4eGpfLOCRXROOYnn&preferred_locales[0]=en headers: {} method: POST uri: https://api.stripe.com/v1/customers response: - body: {string: "{\n \"id\": \"cus_N2OGzErXVzBSLZ\",\n \"object\": \"customer\"\ + body: {string: "{\n \"id\": \"cus_RNFfzL1ihCr83u\",\n \"object\": \"customer\"\ ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ - created\": 1671833563,\n \"currency\": null,\n \"default_currency\": null,\n\ + created\": 1733843778,\n \"currency\": null,\n \"default_currency\": null,\n\ \ \"default_source\": null,\n \"delinquent\": false,\n \"description\"\ : null,\n \"discount\": null,\n \"email\": \"donor@example.com\",\n \"\ - invoice_prefix\": \"CC4C85E5\",\n \"invoice_settings\": {\n \"custom_fields\"\ + invoice_prefix\": \"3312B22A\",\n \"invoice_settings\": {\n \"custom_fields\"\ : null,\n \"default_payment_method\": null,\n \"footer\": null,\n \ \ \"rendering_options\": null\n },\n \"livemode\": false,\n \"metadata\"\ - : {},\n \"name\": null,\n \"next_invoice_sequence\": 1,\n \"phone\": null,\n\ - \ \"preferred_locales\": [],\n \"shipping\": null,\n \"sources\": {\n \ - \ \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n \ - \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_N2OGzErXVzBSLZ/sources\"\ - \n },\n \"subscriptions\": {\n \"object\": \"list\",\n \"data\": [],\n\ - \ \"has_more\": false,\n \"total_count\": 0,\n \"url\": \"/v1/customers/cus_N2OGzErXVzBSLZ/subscriptions\"\ + : {\n \"participant_id\": \"2160\"\n },\n \"name\": null,\n \"next_invoice_sequence\"\ + : 1,\n \"phone\": null,\n \"preferred_locales\": [\n \"en\"\n ],\n \ + \ \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n \"\ + data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \"url\"\ + : \"/v1/customers/cus_RNFfzL1ihCr83u/sources\"\n },\n \"subscriptions\"\ + : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ + \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_RNFfzL1ihCr83u/subscriptions\"\ \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_N2OGzErXVzBSLZ/tax_ids\"\n },\n \"\ + : 0,\n \"url\": \"/v1/customers/cus_RNFfzL1ihCr83u/tax_ids\"\n },\n \"\ tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1217'] + Content-Length: ['1261'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:43 GMT'] - Idempotency-Key: [create_customer_for_participant_2260_with_pm_1MIJTqFk4eGpfLOC6zTQ0hKC] - Original-Request: [req_la9dDsZvZS9J1Q] - Request-Id: [req_la9dDsZvZS9J1Q] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:19 GMT'] + Idempotency-Key: [create_customer_for_participant_2160_with_pm_1QUVAcFk4eGpfLOCRXROOYnn] + Original-Request: [req_M3Sznwr2J7TDHL] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_M3Sznwr2J7TDHL] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=10000&confirm=True¤cy=eur&customer=cus_N2OGzErXVzBSLZ&description=Liberapay&metadata[payin_id]=2260&off_session=False&payment_method=pm_1MIJTqFk4eGpfLOC6zTQ0hKC&return_url=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2F2260&statement_descriptor=Liberapay+2260 + body: amount=10000&confirm=True¤cy=eur&customer=cus_RNFfzL1ihCr83u&description=Liberapay&metadata[payin_id]=2160&off_session=False&payment_method=pm_1QUVAcFk4eGpfLOCRXROOYnn&payment_method_types[0]=card&return_url=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2F2160&statement_descriptor=Liberapay+2160 headers: {} method: POST uri: https://api.stripe.com/v1/payment_intents response: - body: {string: "{\n \"id\": \"pi_3MIJTsFk4eGpfLOC06xPcLGY\",\n \"object\": \"\ + body: {string: "{\n \"id\": \"pi_3QUVAdFk4eGpfLOC0n2KyPGC\",\n \"object\": \"\ payment_intent\",\n \"amount\": 10000,\n \"amount_capturable\": 0,\n \"\ amount_details\": {\n \"tip\": {}\n },\n \"amount_received\": 10000,\n\ \ \"application\": null,\n \"application_fee_amount\": null,\n \"automatic_payment_methods\"\ : null,\n \"canceled_at\": null,\n \"cancellation_reason\": null,\n \"\ capture_method\": \"automatic\",\n \"charges\": {\n \"object\": \"list\"\ - ,\n \"data\": [\n {\n \"id\": \"ch_3MIJTsFk4eGpfLOC091vS6o7\"\ + ,\n \"data\": [\n {\n \"id\": \"ch_3QUVAdFk4eGpfLOC02yn6y2G\"\ ,\n \"object\": \"charge\",\n \"amount\": 10000,\n \"\ amount_captured\": 10000,\n \"amount_refunded\": 0,\n \"application\"\ : null,\n \"application_fee\": null,\n \"application_fee_amount\"\ - : null,\n \"balance_transaction\": \"txn_3MIJTsFk4eGpfLOC0FqBQC91\"\ + : null,\n \"balance_transaction\": \"txn_3QUVAdFk4eGpfLOC0f21oTq5\"\ ,\n \"billing_details\": {\n \"address\": {\n \"\ city\": null,\n \"country\": null,\n \"line1\": null,\n\ \ \"line2\": null,\n \"postal_code\": null,\n \ \ \"state\": null\n },\n \"email\": null,\n \ \ \"name\": null,\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ - : \"LIBERAPAY 2260\",\n \"captured\": true,\n \"created\": 1671833564,\n\ - \ \"currency\": \"eur\",\n \"customer\": \"cus_N2OGzErXVzBSLZ\"\ + : \"LIBERAPAY 2160\",\n \"captured\": true,\n \"created\": 1733843779,\n\ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFfzL1ihCr83u\"\ ,\n \"description\": \"Liberapay\",\n \"destination\": null,\n\ \ \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ : null,\n \"failure_code\": null,\n \"failure_message\": null,\n\ \ \"fraud_details\": {},\n \"invoice\": null,\n \"livemode\"\ - : false,\n \"metadata\": {\n \"payin_id\": \"2260\"\n \ + : false,\n \"metadata\": {\n \"payin_id\": \"2160\"\n \ \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \ - \ \"outcome\": {\n \"network_status\": \"approved_by_network\"\ + \ \"outcome\": {\n \"network_advice_code\": null,\n \"\ + network_decline_code\": null,\n \"network_status\": \"approved_by_network\"\ ,\n \"reason\": null,\n \"risk_level\": \"normal\",\n \ - \ \"risk_score\": 10,\n \"seller_message\": \"Payment complete.\"\ + \ \"risk_score\": 42,\n \"seller_message\": \"Payment complete.\"\ ,\n \"type\": \"authorized\"\n },\n \"paid\": true,\n\ - \ \"payment_intent\": \"pi_3MIJTsFk4eGpfLOC06xPcLGY\",\n \"\ - payment_method\": \"pm_1MIJTqFk4eGpfLOC6zTQ0hKC\",\n \"payment_method_details\"\ - : {\n \"card\": {\n \"brand\": \"visa\",\n \ - \ \"checks\": {\n \"address_line1_check\": null,\n \ - \ \"address_postal_code_check\": null,\n \"cvc_check\": null\n\ - \ },\n \"country\": \"JP\",\n \"exp_month\"\ - : 12,\n \"exp_year\": 2023,\n \"fingerprint\": \"4heNPBHbDWXWyXBc\"\ - ,\n \"funding\": \"credit\",\n \"installments\": null,\n\ - \ \"last4\": \"0003\",\n \"mandate\": null,\n \ - \ \"network\": \"visa\",\n \"three_d_secure\": null,\n \ - \ \"wallet\": null\n },\n \"type\": \"card\"\n \ - \ },\n \"receipt_email\": null,\n \"receipt_number\":\ - \ null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKN3PmJ0GMgZ3DtmdUzo6LBYBv2ptr4s-Xg6a6kVEsvyyl1IBCXhmNzS-HjO0fjvKsjINadg6wgpXhUii\"\ + \ \"payment_intent\": \"pi_3QUVAdFk4eGpfLOC0n2KyPGC\",\n \"\ + payment_method\": \"pm_1QUVAcFk4eGpfLOCRXROOYnn\",\n \"payment_method_details\"\ + : {\n \"card\": {\n \"amount_authorized\": 10000,\n \ + \ \"authorization_code\": null,\n \"brand\": \"visa\"\ + ,\n \"checks\": {\n \"address_line1_check\": null,\n\ + \ \"address_postal_code_check\": null,\n \"cvc_check\"\ + : \"pass\"\n },\n \"country\": \"JP\",\n \ + \ \"exp_month\": 12,\n \"exp_year\": 2025,\n \"extended_authorization\"\ + : {\n \"status\": \"disabled\"\n },\n \"\ + fingerprint\": \"4heNPBHbDWXWyXBc\",\n \"funding\": \"credit\"\ + ,\n \"incremental_authorization\": {\n \"status\"\ + : \"unavailable\"\n },\n \"installments\": null,\n \ + \ \"last4\": \"0003\",\n \"mandate\": null,\n \ + \ \"multicapture\": {\n \"status\": \"unavailable\"\n \ + \ },\n \"network\": \"visa\",\n \"network_token\"\ + : {\n \"used\": false\n },\n \"overcapture\"\ + : {\n \"maximum_amount_capturable\": 10000,\n \"\ + status\": \"unavailable\"\n },\n \"three_d_secure\"\ + : null,\n \"wallet\": null\n },\n \"type\": \"\ + card\"\n },\n \"radar_options\": {},\n \"receipt_email\"\ + : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKMS24boGMgZ-rR7Oqy06LBYxaSSVIVBvb1Z3APGFdIN5G9yWl8EvFo39XLaBbJsXYd7xK8n4PCAXsHHP\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\"\ : \"list\",\n \"data\": [],\n \"has_more\": false,\n \ - \ \"total_count\": 0,\n \"url\": \"/v1/charges/ch_3MIJTsFk4eGpfLOC091vS6o7/refunds\"\ + \ \"total_count\": 0,\n \"url\": \"/v1/charges/ch_3QUVAdFk4eGpfLOC02yn6y2G/refunds\"\ \n },\n \"review\": null,\n \"shipping\": null,\n \ \ \"source\": null,\n \"source_transfer\": null,\n \"statement_descriptor\"\ - : \"Liberapay 2260\",\n \"statement_descriptor_suffix\": null,\n \ + : \"Liberapay 2160\",\n \"statement_descriptor_suffix\": null,\n \ \ \"status\": \"succeeded\",\n \"transfer_data\": null,\n \ \ \"transfer_group\": null\n }\n ],\n \"has_more\": false,\n\ - \ \"total_count\": 1,\n \"url\": \"/v1/charges?payment_intent=pi_3MIJTsFk4eGpfLOC06xPcLGY\"\ - \n },\n \"client_secret\": \"pi_3MIJTsFk4eGpfLOC06xPcLGY_secret_Qvcinkn30L8lfeFNlCK99ZD74\"\ - ,\n \"confirmation_method\": \"automatic\",\n \"created\": 1671833564,\n\ - \ \"currency\": \"eur\",\n \"customer\": \"cus_N2OGzErXVzBSLZ\",\n \"description\"\ + \ \"total_count\": 1,\n \"url\": \"/v1/charges?payment_intent=pi_3QUVAdFk4eGpfLOC0n2KyPGC\"\ + \n },\n \"client_secret\": \"pi_3QUVAdFk4eGpfLOC0n2KyPGC_secret_beJMjyeG1IEmITAp5GAfdDEEF\"\ + ,\n \"confirmation_method\": \"automatic\",\n \"created\": 1733843779,\n\ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFfzL1ihCr83u\",\n \"description\"\ : \"Liberapay\",\n \"invoice\": null,\n \"last_payment_error\": null,\n\ - \ \"livemode\": false,\n \"metadata\": {\n \"payin_id\": \"2260\"\n \ - \ },\n \"next_action\": null,\n \"on_behalf_of\": null,\n \"payment_method\"\ - : \"pm_1MIJTqFk4eGpfLOC6zTQ0hKC\",\n \"payment_method_options\": {\n \"\ - card\": {\n \"installments\": null,\n \"mandate_options\": null,\n\ - \ \"network\": null,\n \"request_three_d_secure\": \"automatic\"\ + \ \"latest_charge\": \"ch_3QUVAdFk4eGpfLOC02yn6y2G\",\n \"livemode\": false,\n\ + \ \"metadata\": {\n \"payin_id\": \"2160\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUVAcFk4eGpfLOCRXROOYnn\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {\n \"card\": {\n \"installments\": null,\n \"mandate_options\"\ + : null,\n \"network\": null,\n \"request_three_d_secure\": \"automatic\"\ \n }\n },\n \"payment_method_types\": [\n \"card\"\n ],\n \"processing\"\ : null,\n \"receipt_email\": null,\n \"review\": null,\n \"setup_future_usage\"\ : null,\n \"shipping\": null,\n \"source\": null,\n \"statement_descriptor\"\ - : \"Liberapay 2260\",\n \"statement_descriptor_suffix\": null,\n \"status\"\ + : \"Liberapay 2160\",\n \"statement_descriptor_suffix\": null,\n \"status\"\ : \"succeeded\",\n \"transfer_data\": null,\n \"transfer_group\": null\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['4584'] + Content-Length: ['5347'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:45 GMT'] - Idempotency-Key: [payin_intent_2260] - Original-Request: [req_gx2OPlXgu1A7C8] - Request-Id: [req_gx2OPlXgu1A7C8] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:20 GMT'] + Idempotency-Key: [payin_intent_2160] + Original-Request: [req_dDAdvmJHjkloPf] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_dDAdvmJHjkloPf] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/balance_transactions/txn_3MIJTsFk4eGpfLOC0FqBQC91 + uri: https://api.stripe.com/v1/balance_transactions/txn_3QUVAdFk4eGpfLOC0f21oTq5 response: - body: {string: "{\n \"id\": \"txn_3MIJTsFk4eGpfLOC0FqBQC91\",\n \"object\":\ - \ \"balance_transaction\",\n \"amount\": 10000,\n \"available_on\": 1672272000,\n\ - \ \"created\": 1671833564,\n \"currency\": \"eur\",\n \"description\":\ - \ \"Liberapay\",\n \"exchange_rate\": null,\n \"fee\": 315,\n \"fee_details\"\ - : [\n {\n \"amount\": 315,\n \"application\": null,\n \"\ + body: {string: "{\n \"id\": \"txn_3QUVAdFk4eGpfLOC0f21oTq5\",\n \"object\":\ + \ \"balance_transaction\",\n \"amount\": 10000,\n \"available_on\": 1734048000,\n\ + \ \"created\": 1733843779,\n \"currency\": \"eur\",\n \"description\":\ + \ \"Liberapay\",\n \"exchange_rate\": null,\n \"fee\": 350,\n \"fee_details\"\ + : [\n {\n \"amount\": 350,\n \"application\": null,\n \"\ currency\": \"eur\",\n \"description\": \"Stripe processing fees\",\n\ - \ \"type\": \"stripe_fee\"\n }\n ],\n \"net\": 9685,\n \"reporting_category\"\ - : \"charge\",\n \"source\": \"ch_3MIJTsFk4eGpfLOC091vS6o7\",\n \"status\"\ + \ \"type\": \"stripe_fee\"\n }\n ],\n \"net\": 9650,\n \"reporting_category\"\ + : \"charge\",\n \"source\": \"ch_3QUVAdFk4eGpfLOC02yn6y2G\",\n \"status\"\ : \"pending\",\n \"type\": \"charge\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] Content-Length: ['559'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:45 GMT'] - Request-Id: [req_IVoBNqUfyyN3ww] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:20 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_H4mTcknOTf9650] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=4843¤cy=EUR&description=secret+donation+for+creator_1+via+Liberapay&destination=acct_1MIJTGFsLJG8wY8M&metadata[payin_transfer_id]=2260&source_transaction=ch_3MIJTsFk4eGpfLOC091vS6o7 + body: amount=4825¤cy=EUR&description=secret+donation+for+creator_1+via+Liberapay&destination=acct_1QUVA3Fw8sDQhJMt&metadata[payin_transfer_id]=2160&source_transaction=ch_3QUVAdFk4eGpfLOC02yn6y2G headers: {} method: POST uri: https://api.stripe.com/v1/transfers response: - body: {string: "{\n \"id\": \"tr_3MIJTsFk4eGpfLOC0pjCxw9V\",\n \"object\": \"\ - transfer\",\n \"amount\": 4843,\n \"amount_reversed\": 0,\n \"balance_transaction\"\ - : \"txn_3MIJTsFk4eGpfLOC0CI7Litd\",\n \"created\": 1671833566,\n \"currency\"\ + body: {string: "{\n \"id\": \"tr_3QUVAdFk4eGpfLOC0IaiC6C7\",\n \"object\": \"\ + transfer\",\n \"amount\": 4825,\n \"amount_reversed\": 0,\n \"balance_transaction\"\ + : \"txn_3QUVAdFk4eGpfLOC0hJwMQP1\",\n \"created\": 1733843780,\n \"currency\"\ : \"eur\",\n \"description\": \"secret donation for creator_1 via Liberapay\"\ - ,\n \"destination\": \"acct_1MIJTGFsLJG8wY8M\",\n \"destination_payment\"\ - : \"py_1MIJTuFsLJG8wY8MgkvZSbj3\",\n \"livemode\": false,\n \"metadata\"\ - : {\n \"payin_transfer_id\": \"2260\"\n },\n \"reversals\": {\n \"\ + ,\n \"destination\": \"acct_1QUVA3Fw8sDQhJMt\",\n \"destination_payment\"\ + : \"py_1QUVAeFw8sDQhJMtuyfihWI0\",\n \"livemode\": false,\n \"metadata\"\ + : {\n \"payin_transfer_id\": \"2160\"\n },\n \"reversals\": {\n \"\ object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/transfers/tr_3MIJTsFk4eGpfLOC0pjCxw9V/reversals\"\ - \n },\n \"reversed\": false,\n \"source_transaction\": \"ch_3MIJTsFk4eGpfLOC091vS6o7\"\ - ,\n \"source_type\": \"card\",\n \"transfer_group\": \"group_pi_3MIJTsFk4eGpfLOC06xPcLGY\"\ + : 0,\n \"url\": \"/v1/transfers/tr_3QUVAdFk4eGpfLOC0IaiC6C7/reversals\"\ + \n },\n \"reversed\": false,\n \"source_transaction\": \"ch_3QUVAdFk4eGpfLOC02yn6y2G\"\ + ,\n \"source_type\": \"card\",\n \"transfer_group\": \"group_pi_3QUVAdFk4eGpfLOC0n2KyPGC\"\ \n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] Content-Length: ['774'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:47 GMT'] - Idempotency-Key: [payin_transfer_2260] - Original-Request: [req_woRmcrcppbfL9x] - Request-Id: [req_woRmcrcppbfL9x] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:21 GMT'] + Idempotency-Key: [payin_transfer_2160] + Original-Request: [req_YU3bzuP5bfMrdi] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_YU3bzuP5bfMrdi] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/charges/py_1MIJTuFsLJG8wY8MgkvZSbj3 + uri: https://api.stripe.com/v1/charges/py_1QUVAeFw8sDQhJMtuyfihWI0 response: - body: {string: "{\n \"id\": \"py_1MIJTuFsLJG8wY8MgkvZSbj3\",\n \"object\": \"\ - charge\",\n \"amount\": 4843,\n \"amount_captured\": 4843,\n \"amount_refunded\"\ + body: {string: "{\n \"id\": \"py_1QUVAeFw8sDQhJMtuyfihWI0\",\n \"object\": \"\ + charge\",\n \"amount\": 4825,\n \"amount_captured\": 4825,\n \"amount_refunded\"\ : 0,\n \"application\": \"ca_DEYxiYHBHZtGj32l9uczcsunbQOcRq8H\",\n \"application_fee\"\ : null,\n \"application_fee_amount\": null,\n \"balance_transaction\": \"\ - txn_1MIJTuFsLJG8wY8MZ68E1ASx\",\n \"billing_details\": {\n \"address\"\ + txn_1QUVAfFw8sDQhJMtKLbCLKDz\",\n \"billing_details\": {\n \"address\"\ : {\n \"city\": null,\n \"country\": null,\n \"line1\": null,\n\ \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ \ },\n \"email\": null,\n \"name\": null,\n \"phone\": null\n\ \ },\n \"calculated_statement_descriptor\": null,\n \"captured\": true,\n\ - \ \"created\": 1671833566,\n \"currency\": \"eur\",\n \"customer\": null,\n\ + \ \"created\": 1733843781,\n \"currency\": \"eur\",\n \"customer\": null,\n\ \ \"description\": null,\n \"destination\": null,\n \"dispute\": null,\n\ \ \"disputed\": false,\n \"failure_balance_transaction\": null,\n \"failure_code\"\ : null,\n \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\"\ @@ -2455,723 +2898,745 @@ interactions: payment_intent\": null,\n \"payment_method\": null,\n \"payment_method_details\"\ : {\n \"stripe_account\": {},\n \"type\": \"stripe_account\"\n },\n\ \ \"receipt_email\": null,\n \"receipt_number\": null,\n \"receipt_url\"\ - : \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xTUlKVEdGc0xKRzh3WThNKN_PmJ0GMga4WNoGaCc6LBadNEVmQ0oNKtKb_gmj8Fq6oU0oyXP34ipR9Dz27-VFBHcYODfneWkWle0F\"\ + : \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xUVVWQTNGdzhzRFFoSk10KMW24boGMgay-GAfKIk6LBY7okkNkA2aGok6HXFxAPfUXQcXEfm25LEHyxUrz1oanKn3kP8Aw6cM3ckc\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\": \"list\",\n \ \ \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \ - \ \"url\": \"/v1/charges/py_1MIJTuFsLJG8wY8MgkvZSbj3/refunds\"\n },\n \"\ + \ \"url\": \"/v1/charges/py_1QUVAeFw8sDQhJMtuyfihWI0/refunds\"\n },\n \"\ review\": null,\n \"shipping\": null,\n \"source\": {\n \"id\": \"acct_1ChyayFk4eGpfLOC\"\ ,\n \"object\": \"account\",\n \"application_icon\": \"https://files.stripe.com/links/fl_live_pcO27i8SSea27yZPmUHDPhiF\"\ - ,\n \"application_logo\": \"https://s3.amazonaws.com/stripe-uploads/acct_1ChyayFk4eGpfLOCapplication-logo-icon_v2_yellow_r.100.png\"\ + ,\n \"application_logo\": \"https://files.stripe.com/links/MDB8YWNjdF8xQ2h5YXlGazRlR3BmTE9DfGZsX2xpdmVfVXlVTEhzWmxkR1dxSWFBTldwc05KTVJh00Fmg4BAPU\"\ ,\n \"application_name\": \"Liberapay\",\n \"application_url\": \"https://liberapay.com/\"\ - \n },\n \"source_transfer\": \"tr_3MIJTsFk4eGpfLOC0pjCxw9V\",\n \"statement_descriptor\"\ + \n },\n \"source_transfer\": \"tr_3QUVAdFk4eGpfLOC0IaiC6C7\",\n \"statement_descriptor\"\ : null,\n \"statement_descriptor_suffix\": null,\n \"status\": \"succeeded\"\ ,\n \"transfer_data\": null,\n \"transfer_group\": null\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['2184'] + Content-Length: ['2199'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:47 GMT'] - Request-Id: [req_f6LKAuTAikPwc2] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:21 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_7BJKStOX7WLgXr] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Account: [acct_1MIJTGFsLJG8wY8M] + Stripe-Account: [acct_1QUVA3Fw8sDQhJMt] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: description=secret+donation+for+creator_1+via+Liberapay&metadata[liberapay_transfer_id]=2260 + body: description=secret+donation+for+creator_1+via+Liberapay&metadata[liberapay_transfer_id]=2160 headers: {} method: POST - uri: https://api.stripe.com/v1/charges/py_1MIJTuFsLJG8wY8MgkvZSbj3 + uri: https://api.stripe.com/v1/charges/py_1QUVAeFw8sDQhJMtuyfihWI0 response: - body: {string: "{\n \"id\": \"py_1MIJTuFsLJG8wY8MgkvZSbj3\",\n \"object\": \"\ - charge\",\n \"amount\": 4843,\n \"amount_captured\": 4843,\n \"amount_refunded\"\ + body: {string: "{\n \"id\": \"py_1QUVAeFw8sDQhJMtuyfihWI0\",\n \"object\": \"\ + charge\",\n \"amount\": 4825,\n \"amount_captured\": 4825,\n \"amount_refunded\"\ : 0,\n \"application\": \"ca_DEYxiYHBHZtGj32l9uczcsunbQOcRq8H\",\n \"application_fee\"\ : null,\n \"application_fee_amount\": null,\n \"balance_transaction\": \"\ - txn_1MIJTuFsLJG8wY8MZ68E1ASx\",\n \"billing_details\": {\n \"address\"\ + txn_1QUVAfFw8sDQhJMtKLbCLKDz\",\n \"billing_details\": {\n \"address\"\ : {\n \"city\": null,\n \"country\": null,\n \"line1\": null,\n\ \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ \ },\n \"email\": null,\n \"name\": null,\n \"phone\": null\n\ \ },\n \"calculated_statement_descriptor\": null,\n \"captured\": true,\n\ - \ \"created\": 1671833566,\n \"currency\": \"eur\",\n \"customer\": null,\n\ + \ \"created\": 1733843781,\n \"currency\": \"eur\",\n \"customer\": null,\n\ \ \"description\": \"secret donation for creator_1 via Liberapay\",\n \"\ destination\": null,\n \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ : null,\n \"failure_code\": null,\n \"failure_message\": null,\n \"fraud_details\"\ : {},\n \"invoice\": null,\n \"livemode\": false,\n \"metadata\": {\n \ - \ \"liberapay_transfer_id\": \"2260\"\n },\n \"on_behalf_of\": null,\n\ + \ \"liberapay_transfer_id\": \"2160\"\n },\n \"on_behalf_of\": null,\n\ \ \"order\": null,\n \"outcome\": null,\n \"paid\": true,\n \"payment_intent\"\ : null,\n \"payment_method\": null,\n \"payment_method_details\": {\n \ \ \"stripe_account\": {},\n \"type\": \"stripe_account\"\n },\n \"receipt_email\"\ - : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xTUlKVEdGc0xKRzh3WThNKN_PmJ0GMgbtogPu3xg6LBbscNeUdIysmK0hUjO9DDJKXEEyAdVAVwDb55K9AJCvYlmjsxD9O5Ou-PdD\"\ + : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xUVVWQTNGdzhzRFFoSk10KMW24boGMgbpD08g1tk6LBarn5Nnna2L2taMnwmUR1Z0EVQwJtv2IdHu9DSy-YXDmWyt6oQmhRWBvWs6\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\": \"list\",\n \ \ \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \ - \ \"url\": \"/v1/charges/py_1MIJTuFsLJG8wY8MgkvZSbj3/refunds\"\n },\n \"\ + \ \"url\": \"/v1/charges/py_1QUVAeFw8sDQhJMtuyfihWI0/refunds\"\n },\n \"\ review\": null,\n \"shipping\": null,\n \"source\": {\n \"id\": \"acct_1ChyayFk4eGpfLOC\"\ ,\n \"object\": \"account\",\n \"application_icon\": \"https://files.stripe.com/links/fl_live_pcO27i8SSea27yZPmUHDPhiF\"\ - ,\n \"application_logo\": \"https://s3.amazonaws.com/stripe-uploads/acct_1ChyayFk4eGpfLOCapplication-logo-icon_v2_yellow_r.100.png\"\ + ,\n \"application_logo\": \"https://files.stripe.com/links/MDB8YWNjdF8xQ2h5YXlGazRlR3BmTE9DfGZsX2xpdmVfVXlVTEhzWmxkR1dxSWFBTldwc05KTVJh00Fmg4BAPU\"\ ,\n \"application_name\": \"Liberapay\",\n \"application_url\": \"https://liberapay.com/\"\ - \n },\n \"source_transfer\": \"tr_3MIJTsFk4eGpfLOC0pjCxw9V\",\n \"statement_descriptor\"\ + \n },\n \"source_transfer\": \"tr_3QUVAdFk4eGpfLOC0IaiC6C7\",\n \"statement_descriptor\"\ : null,\n \"statement_descriptor_suffix\": null,\n \"status\": \"succeeded\"\ ,\n \"transfer_data\": null,\n \"transfer_group\": null\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['2264'] + Content-Length: ['2279'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:47 GMT'] - Idempotency-Key: [f45e73e2-1e87-4f18-9b8a-5ab00b8ef329] - Original-Request: [req_US70KOWRo01fcq] - Request-Id: [req_US70KOWRo01fcq] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:22 GMT'] + Idempotency-Key: [7ea5d1b0-3bc3-4377-8744-6b9a4bf7a534] + Original-Request: [req_2IgautkzTVswXy] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_2IgautkzTVswXy] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Account: [acct_1MIJTGFsLJG8wY8M] + Stripe-Account: [acct_1QUVA3Fw8sDQhJMt] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: bank_account[country]=FR&bank_account[currency]=EUR&bank_account[account_number]=FR1420041010050500013M02606&bank_account[account_holder_name]=Jane+Doe + body: type=sepa_debit&billing_details[email]=jane.doe%40example.com&billing_details[name]=Jane+Doe&sepa_debit[iban]=HR7624020064583467589 headers: {} method: POST - uri: https://api.stripe.com/v1/tokens + uri: https://api.stripe.com/v1/payment_methods response: - body: {string: "{\n \"id\": \"btok_1MIJTwFk4eGpfLOCrCy91Qbi\",\n \"object\"\ - : \"token\",\n \"bank_account\": {\n \"id\": \"ba_1MIJTwFk4eGpfLOCAPYDHnVI\"\ - ,\n \"object\": \"bank_account\",\n \"account_holder_name\": \"Jane\ - \ Doe\",\n \"account_holder_type\": null,\n \"account_type\": null,\n\ - \ \"bank_name\": \"STRIPE TEST BANK\",\n \"country\": \"FR\",\n \"\ - currency\": \"eur\",\n \"fingerprint\": \"T8MDJUvoericCF3x\",\n \"last4\"\ - : \"2606\",\n \"routing_number\": \"110000000\",\n \"status\": \"new\"\ - \n },\n \"client_ip\": \"77.132.65.89\",\n \"created\": 1671833568,\n \ - \ \"livemode\": false,\n \"type\": \"bank_account\",\n \"used\": false\n\ + body: {string: "{\n \"id\": \"pm_1QUVAgFk4eGpfLOCwpWcsze0\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843782,\n\ + \ \"customer\": null,\n \"livemode\": false,\n \"metadata\": {},\n \"\ + sepa_debit\": {\n \"bank_code\": \"2402006\",\n \"branch_code\": \"\"\ + ,\n \"country\": \"HR\",\n \"fingerprint\": \"Huptcna8LF77NpzK\",\n\ + \ \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"7589\"\n },\n \"type\": \"sepa_debit\"\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['574'] + Content-Length: ['713'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:48 GMT'] - Idempotency-Key: [269e37bd-a630-4c29-98e7-966ed2db2779] - Original-Request: [req_NJ3PFfeg40GcEA] - Request-Id: [req_NJ3PFfeg40GcEA] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:22 GMT'] + Idempotency-Key: [create_croatian_sdd_pm_2170] + Original-Request: [req_E9ONBphrVJxz9i] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_E9ONBphrVJxz9i] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/tokens/btok_1MIJTwFk4eGpfLOCrCy91Qbi - response: - body: {string: "{\n \"id\": \"btok_1MIJTwFk4eGpfLOCrCy91Qbi\",\n \"object\"\ - : \"token\",\n \"bank_account\": {\n \"id\": \"ba_1MIJTwFk4eGpfLOCAPYDHnVI\"\ - ,\n \"object\": \"bank_account\",\n \"account_holder_name\": \"Jane\ - \ Doe\",\n \"account_holder_type\": null,\n \"account_type\": null,\n\ - \ \"bank_name\": \"STRIPE TEST BANK\",\n \"country\": \"FR\",\n \"\ - currency\": \"eur\",\n \"fingerprint\": \"T8MDJUvoericCF3x\",\n \"last4\"\ - : \"2606\",\n \"routing_number\": \"110000000\",\n \"status\": \"new\"\ - \n },\n \"client_ip\": \"77.132.65.89\",\n \"created\": 1671833568,\n \ - \ \"livemode\": false,\n \"type\": \"bank_account\",\n \"used\": false\n\ + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVAgFk4eGpfLOCwpWcsze0 + response: + body: {string: "{\n \"id\": \"pm_1QUVAgFk4eGpfLOCwpWcsze0\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843782,\n\ + \ \"customer\": null,\n \"livemode\": false,\n \"metadata\": {},\n \"\ + sepa_debit\": {\n \"bank_code\": \"2402006\",\n \"branch_code\": \"\"\ + ,\n \"country\": \"HR\",\n \"fingerprint\": \"Huptcna8LF77NpzK\",\n\ + \ \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"7589\"\n },\n \"type\": \"sepa_debit\"\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['574'] + Content-Length: ['713'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:48 GMT'] - Request-Id: [req_Bgr8RjwbnhXWY9] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:22 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_vA3CGSFvbFWlav] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: owner[email]=donor%40example.com&redirect[return_url]=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2Fcomplete&token=btok_1MIJTwFk4eGpfLOCrCy91Qbi&type=sepa_debit&usage=reusable + body: email=donor%40example.com&metadata[participant_id]=2170&payment_method=pm_1QUVAgFk4eGpfLOCwpWcsze0&preferred_locales[0]=en headers: {} method: POST - uri: https://api.stripe.com/v1/sources + uri: https://api.stripe.com/v1/customers response: - body: {string: "{\n \"id\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - ,\n \"created\": 1671833568,\n \"currency\": \"eur\",\n \"flow\": \"none\"\ - ,\n \"livemode\": false,\n \"mandate\": {\n \"acceptance\": {\n \ - \ \"date\": null,\n \"ip\": null,\n \"offline\": null,\n \"\ - online\": null,\n \"status\": \"pending\",\n \"type\": null,\n \ - \ \"user_agent\": null\n },\n \"amount\": null,\n \"currency\"\ - : null,\n \"interval\": \"variable\",\n \"notification_method\": \"\ - none\",\n \"reference\": \"1ISTV3WNBHW9KGYZ\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"1ISTV3WNBHW9KGYZ\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"cus_RNFgMVwWYXbe6X\",\n \"object\": \"customer\"\ + ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ + created\": 1733843782,\n \"currency\": null,\n \"default_currency\": null,\n\ + \ \"default_source\": null,\n \"delinquent\": false,\n \"description\"\ + : null,\n \"discount\": null,\n \"email\": \"donor@example.com\",\n \"\ + invoice_prefix\": \"36696C67\",\n \"invoice_settings\": {\n \"custom_fields\"\ + : null,\n \"default_payment_method\": null,\n \"footer\": null,\n \ + \ \"rendering_options\": null\n },\n \"livemode\": false,\n \"metadata\"\ + : {\n \"participant_id\": \"2170\"\n },\n \"name\": null,\n \"next_invoice_sequence\"\ + : 1,\n \"phone\": null,\n \"preferred_locales\": [\n \"en\"\n ],\n \ + \ \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n \"\ + data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \"url\"\ + : \"/v1/customers/cus_RNFgMVwWYXbe6X/sources\"\n },\n \"subscriptions\"\ + : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ + \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_RNFgMVwWYXbe6X/subscriptions\"\ + \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ + list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ + : 0,\n \"url\": \"/v1/customers/cus_RNFgMVwWYXbe6X/tax_ids\"\n },\n \"\ + tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ + }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1541'] + Content-Length: ['1261'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:49 GMT'] - Idempotency-Key: [create_source_from_btok_1MIJTwFk4eGpfLOCrCy91Qbi] - Original-Request: [req_4UVpKReLJuu5Wp] - Request-Id: [req_4UVpKReLJuu5Wp] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:23 GMT'] + Idempotency-Key: [create_customer_for_participant_2170_with_pm_1QUVAgFk4eGpfLOCwpWcsze0] + Original-Request: [req_tYJGOdbJ7TZxcm] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_tYJGOdbJ7TZxcm] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: email=donor%40example.com&source=src_1MIJTwFk4eGpfLOCarFVaLAl + body: confirm=True&customer=cus_RNFgMVwWYXbe6X&mandate_data[customer_acceptance][type]=online&mandate_data[customer_acceptance][accepted_at]=1733843783&mandate_data[customer_acceptance][online][ip_address]=0.0.0.0&mandate_data[customer_acceptance][online][user_agent]=Pando-test-client%2F0.47&metadata[route_id]=107&payment_method=pm_1QUVAgFk4eGpfLOCwpWcsze0&payment_method_types[0]=sepa_debit&usage=off_session headers: {} method: POST - uri: https://api.stripe.com/v1/customers + uri: https://api.stripe.com/v1/setup_intents response: - body: {string: "{\n \"id\": \"cus_N2OGdmqk7gOwWc\",\n \"object\": \"customer\"\ - ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ - created\": 1671833569,\n \"currency\": null,\n \"default_currency\": null,\n\ - \ \"default_source\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\",\n \"delinquent\"\ - : false,\n \"description\": null,\n \"discount\": null,\n \"email\": \"\ - donor@example.com\",\n \"invoice_prefix\": \"36FD4FCE\",\n \"invoice_settings\"\ - : {\n \"custom_fields\": null,\n \"default_payment_method\": null,\n\ - \ \"footer\": null,\n \"rendering_options\": null\n },\n \"livemode\"\ - : false,\n \"metadata\": {},\n \"name\": null,\n \"next_invoice_sequence\"\ - : 1,\n \"phone\": null,\n \"preferred_locales\": [],\n \"shipping\": null,\n\ - \ \"sources\": {\n \"object\": \"list\",\n \"data\": [\n {\n \ - \ \"id\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\",\n \"object\": \"\ - source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - ,\n \"created\": 1671833568,\n \"currency\": \"eur\",\n \ - \ \"customer\": \"cus_N2OGdmqk7gOwWc\",\n \"flow\": \"none\",\n\ - \ \"livemode\": false,\n \"mandate\": {\n \"acceptance\"\ - : {\n \"date\": null,\n \"ip\": null,\n \"\ - offline\": null,\n \"online\": null,\n \"status\": \"\ - pending\",\n \"type\": null,\n \"user_agent\": null\n\ - \ },\n \"amount\": null,\n \"currency\": null,\n\ - \ \"interval\": \"variable\",\n \"notification_method\"\ - : \"none\",\n \"reference\": \"1ISTV3WNBHW9KGYZ\",\n \"\ - url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"\ - address\": {\n \"city\": null,\n \"country\": \"FR\"\ - ,\n \"line1\": null,\n \"line2\": null,\n \ - \ \"postal_code\": null,\n \"state\": null\n },\n \ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\"\ - ,\n \"phone\": null,\n \"verified_address\": null,\n \ - \ \"verified_email\": null,\n \"verified_name\": null,\n \ - \ \"verified_phone\": null\n },\n \"sepa_debit\": {\n\ - \ \"bank_code\": \"20041\",\n \"branch_code\": \"01005\"\ - ,\n \"country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\"\ - ,\n \"last4\": \"2606\",\n \"mandate_reference\": \"1ISTV3WNBHW9KGYZ\"\ - ,\n \"mandate_url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"statement_descriptor\": null,\n \"status\"\ - : \"chargeable\",\n \"type\": \"sepa_debit\",\n \"usage\": \"\ - reusable\"\n }\n ],\n \"has_more\": false,\n \"total_count\"\ - : 1,\n \"url\": \"/v1/customers/cus_N2OGdmqk7gOwWc/sources\"\n },\n \"\ - subscriptions\": {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\"\ - : false,\n \"total_count\": 0,\n \"url\": \"/v1/customers/cus_N2OGdmqk7gOwWc/subscriptions\"\ - \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ - list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_N2OGdmqk7gOwWc/tax_ids\"\n },\n \"\ - tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ - }"} + body: {string: "{\n \"id\": \"seti_1QUVAhFk4eGpfLOCGTEtRLZh\",\n \"object\"\ + : \"setup_intent\",\n \"application\": null,\n \"automatic_payment_methods\"\ + : null,\n \"cancellation_reason\": null,\n \"client_secret\": \"seti_1QUVAhFk4eGpfLOCGTEtRLZh_secret_RNFgD9EURmFKGNtUdKP9sGh98GM7bBL\"\ + ,\n \"created\": 1733843783,\n \"customer\": \"cus_RNFgMVwWYXbe6X\",\n \ + \ \"description\": null,\n \"flow_directions\": null,\n \"last_setup_error\"\ + : null,\n \"latest_attempt\": \"setatt_1QUVAhFk4eGpfLOCaHUm3LVv\",\n \"\ + livemode\": false,\n \"mandate\": \"mandate_1QUVAhFk4eGpfLOCxpYh6c4A\",\n\ + \ \"metadata\": {\n \"route_id\": \"107\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUVAgFk4eGpfLOCwpWcsze0\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {},\n \"payment_method_types\": [\n \"sepa_debit\"\n ],\n \"single_use_mandate\"\ + : null,\n \"status\": \"succeeded\",\n \"usage\": \"off_session\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['3180'] + Content-Length: ['869'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:49 GMT'] - Idempotency-Key: [create_customer_for_participant_2270_with_src_1MIJTwFk4eGpfLOCarFVaLAl] - Original-Request: [req_K2MJIE0KYwdw6G] - Request-Id: [req_K2MJIE0KYwdw6G] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:23 GMT'] + Idempotency-Key: [create_SI_for_route_107] + Original-Request: [req_2R52GAXYDdcPFG] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_2R52GAXYDdcPFG] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=10000¤cy=eur&customer=cus_N2OGdmqk7gOwWc&description=Liberapay&metadata[payin_id]=2270&source=src_1MIJTwFk4eGpfLOCarFVaLAl&statement_descriptor=Liberapay+2270&expand[0]=balance_transaction + body: amount=10000&confirm=True¤cy=eur&customer=cus_RNFgMVwWYXbe6X&description=Liberapay&mandate=mandate_1QUVAhFk4eGpfLOCxpYh6c4A&metadata[payin_id]=2170&off_session=False&payment_method=pm_1QUVAgFk4eGpfLOCwpWcsze0&payment_method_types[0]=sepa_debit&return_url=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2F2170&statement_descriptor=Liberapay+2170 headers: {} method: POST - uri: https://api.stripe.com/v1/charges + uri: https://api.stripe.com/v1/payment_intents response: - body: {string: "{\n \"id\": \"py_1MIJTyFk4eGpfLOCYulvxPKP\",\n \"object\": \"\ - charge\",\n \"amount\": 10000,\n \"amount_captured\": 10000,\n \"amount_refunded\"\ - : 0,\n \"application\": null,\n \"application_fee\": null,\n \"application_fee_amount\"\ - : null,\n \"balance_transaction\": null,\n \"billing_details\": {\n \"\ - address\": {\n \"city\": null,\n \"country\": \"FR\",\n \"\ - line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n \ - \ \"state\": null\n },\n \"email\": \"donor@example.com\",\n \"\ - name\": \"Jane Doe\",\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ - : null,\n \"captured\": true,\n \"created\": 1671833570,\n \"currency\"\ - : \"eur\",\n \"customer\": \"cus_N2OGdmqk7gOwWc\",\n \"description\": \"\ - Liberapay\",\n \"destination\": null,\n \"dispute\": null,\n \"disputed\"\ - : false,\n \"failure_balance_transaction\": null,\n \"failure_code\": null,\n\ - \ \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\": null,\n\ - \ \"livemode\": false,\n \"metadata\": {\n \"payin_id\": \"2270\"\n \ - \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \"outcome\": {\n \ - \ \"network_status\": \"approved_by_network\",\n \"reason\": null,\n \ - \ \"risk_level\": \"not_assessed\",\n \"seller_message\": \"Payment complete.\"\ - ,\n \"type\": \"authorized\"\n },\n \"paid\": false,\n \"payment_intent\"\ - : null,\n \"payment_method\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\",\n \"payment_method_details\"\ - : {\n \"sepa_debit\": {\n \"bank_code\": \"20041\",\n \"branch_code\"\ - : \"01005\",\n \"country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\"\ - ,\n \"last4\": \"2606\",\n \"mandate\": null\n },\n \"type\"\ - : \"sepa_debit\"\n },\n \"receipt_email\": null,\n \"receipt_number\":\ - \ null,\n \"receipt_url\": null,\n \"refunded\": false,\n \"refunds\":\ - \ {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ - \ \"total_count\": 0,\n \"url\": \"/v1/charges/py_1MIJTyFk4eGpfLOCYulvxPKP/refunds\"\ - \n },\n \"review\": null,\n \"shipping\": null,\n \"source\": {\n \"\ - id\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\",\n \"object\": \"source\",\n \ - \ \"amount\": null,\n \"client_secret\": \"src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - ,\n \"created\": 1671833570,\n \"currency\": \"eur\",\n \"customer\"\ - : \"cus_N2OGdmqk7gOwWc\",\n \"flow\": \"none\",\n \"livemode\": false,\n\ - \ \"mandate\": {\n \"acceptance\": {\n \"date\": null,\n \ - \ \"ip\": null,\n \"offline\": null,\n \"online\": null,\n\ - \ \"status\": \"pending\",\n \"type\": null,\n \"user_agent\"\ - : null\n },\n \"amount\": null,\n \"currency\": null,\n \ - \ \"interval\": \"variable\",\n \"notification_method\": \"none\",\n\ - \ \"reference\": \"1ISTV3WNBHW9KGYZ\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n\ - \ \"city\": null,\n \"country\": \"FR\",\n \"line1\"\ - : null,\n \"line2\": null,\n \"postal_code\": null,\n \ - \ \"state\": null\n },\n \"email\": \"donor@example.com\",\n \ - \ \"name\": \"Jane Doe\",\n \"phone\": null,\n \"verified_address\"\ - : null,\n \"verified_email\": null,\n \"verified_name\": null,\n\ - \ \"verified_phone\": null\n },\n \"sepa_debit\": {\n \"bank_code\"\ - : \"20041\",\n \"branch_code\": \"01005\",\n \"country\": \"FR\"\ - ,\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\": \"2606\"\ - ,\n \"mandate_reference\": \"1ISTV3WNBHW9KGYZ\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\"\ - ,\n \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n },\n \"\ - source_transfer\": null,\n \"statement_descriptor\": \"Liberapay 2270\",\n\ - \ \"statement_descriptor_suffix\": null,\n \"status\": \"pending\",\n \"\ - transfer_data\": null,\n \"transfer_group\": null\n}"} - headers: - Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - Access-Control-Max-Age: ['300'] - Cache-Control: ['no-cache, no-store'] - Connection: [keep-alive] - Content-Length: ['3709'] - Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:50 GMT'] - Idempotency-Key: [payin_2270] - Original-Request: [req_AIGHuA9bpiHuCr] - Request-Id: [req_AIGHuA9bpiHuCr] + body: {string: "{\n \"id\": \"pi_3QUVAhFk4eGpfLOC1IhlthgB\",\n \"object\": \"\ + payment_intent\",\n \"amount\": 10000,\n \"amount_capturable\": 0,\n \"\ + amount_details\": {\n \"tip\": {}\n },\n \"amount_received\": 0,\n \"\ + application\": null,\n \"application_fee_amount\": null,\n \"automatic_payment_methods\"\ + : null,\n \"canceled_at\": null,\n \"cancellation_reason\": null,\n \"\ + capture_method\": \"automatic\",\n \"charges\": {\n \"object\": \"list\"\ + ,\n \"data\": [\n {\n \"id\": \"py_3QUVAhFk4eGpfLOC13bSr64M\"\ + ,\n \"object\": \"charge\",\n \"amount\": 10000,\n \"\ + amount_captured\": 10000,\n \"amount_refunded\": 0,\n \"application\"\ + : null,\n \"application_fee\": null,\n \"application_fee_amount\"\ + : null,\n \"balance_transaction\": null,\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"\ + country\": null,\n \"line1\": null,\n \"line2\": null,\n\ + \ \"postal_code\": null,\n \"state\": null\n \ + \ },\n \"email\": \"jane.doe@example.com\",\n \"name\"\ + : \"Jane Doe\",\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ + : null,\n \"captured\": true,\n \"created\": 1733843784,\n \ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFgMVwWYXbe6X\"\ + ,\n \"description\": \"Liberapay\",\n \"destination\": null,\n\ + \ \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ + : null,\n \"failure_code\": null,\n \"failure_message\": null,\n\ + \ \"fraud_details\": {},\n \"invoice\": null,\n \"livemode\"\ + : false,\n \"metadata\": {\n \"payin_id\": \"2170\"\n \ + \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \ + \ \"outcome\": {\n \"network_advice_code\": null,\n \"\ + network_decline_code\": null,\n \"network_status\": \"approved_by_network\"\ + ,\n \"reason\": null,\n \"risk_level\": \"not_assessed\"\ + ,\n \"seller_message\": \"Payment complete.\",\n \"type\"\ + : \"authorized\"\n },\n \"paid\": false,\n \"payment_intent\"\ + : \"pi_3QUVAhFk4eGpfLOC1IhlthgB\",\n \"payment_method\": \"pm_1QUVAgFk4eGpfLOCwpWcsze0\"\ + ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \ + \ \"bank_code\": \"2402006\",\n \"branch_code\": \"\"\ + ,\n \"country\": \"HR\",\n \"fingerprint\": \"LDYVKh0lLK3nQ7jk\"\ + ,\n \"last4\": \"7589\",\n \"mandate\": \"mandate_1QUVAhFk4eGpfLOCxpYh6c4A\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"\ + radar_options\": {},\n \"receipt_email\": null,\n \"receipt_number\"\ + : null,\n \"receipt_url\": null,\n \"refunded\": false,\n \ + \ \"refunds\": {\n \"object\": \"list\",\n \"data\"\ + : [],\n \"has_more\": false,\n \"total_count\": 0,\n \ + \ \"url\": \"/v1/charges/py_3QUVAhFk4eGpfLOC13bSr64M/refunds\"\n \ + \ },\n \"review\": null,\n \"shipping\": null,\n \ + \ \"source\": null,\n \"source_transfer\": null,\n \"statement_descriptor\"\ + : \"Liberapay 2170\",\n \"statement_descriptor_suffix\": null,\n \ + \ \"status\": \"pending\",\n \"transfer_data\": null,\n \ + \ \"transfer_group\": null\n }\n ],\n \"has_more\": false,\n \ + \ \"total_count\": 1,\n \"url\": \"/v1/charges?payment_intent=pi_3QUVAhFk4eGpfLOC1IhlthgB\"\ + \n },\n \"client_secret\": \"pi_3QUVAhFk4eGpfLOC1IhlthgB_secret_tq6ZsaiMxIq8AGs1cFiAIOaAJ\"\ + ,\n \"confirmation_method\": \"automatic\",\n \"created\": 1733843783,\n\ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFgMVwWYXbe6X\",\n \"description\"\ + : \"Liberapay\",\n \"invoice\": null,\n \"last_payment_error\": null,\n\ + \ \"latest_charge\": \"py_3QUVAhFk4eGpfLOC13bSr64M\",\n \"livemode\": false,\n\ + \ \"metadata\": {\n \"payin_id\": \"2170\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUVAgFk4eGpfLOCwpWcsze0\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {\n \"sepa_debit\": {}\n },\n \"payment_method_types\": [\n \"sepa_debit\"\ + \n ],\n \"processing\": null,\n \"receipt_email\": null,\n \"review\"\ + : null,\n \"setup_future_usage\": null,\n \"shipping\": null,\n \"source\"\ + : null,\n \"statement_descriptor\": \"Liberapay 2170\",\n \"statement_descriptor_suffix\"\ + : null,\n \"status\": \"processing\",\n \"transfer_data\": null,\n \"transfer_group\"\ + : null\n}"} + headers: + 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'] + Connection: [keep-alive] + Content-Length: ['4173'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] + Content-Type: [application/json] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:24 GMT'] + Idempotency-Key: [payin_intent_2170] + Original-Request: [req_rjZZUsSLXi7UMA] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_rjZZUsSLXi7UMA] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJTwFk4eGpfLOCarFVaLAl + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVAgFk4eGpfLOCwpWcsze0 response: - body: {string: "{\n \"id\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - ,\n \"created\": 1671833568,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGdmqk7gOwWc\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"1ISTV3WNBHW9KGYZ\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"1ISTV3WNBHW9KGYZ\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"pm_1QUVAgFk4eGpfLOCwpWcsze0\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843782,\n\ + \ \"customer\": \"cus_RNFgMVwWYXbe6X\",\n \"livemode\": false,\n \"metadata\"\ + : {},\n \"sepa_debit\": {\n \"bank_code\": \"2402006\",\n \"branch_code\"\ + : \"\",\n \"country\": \"HR\",\n \"fingerprint\": \"Huptcna8LF77NpzK\"\ + ,\n \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"7589\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1577'] + Content-Length: ['729'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:50 GMT'] - Request-Id: [req_j9a2kOUzL0yv17] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:24 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_YbjNAMOryCdsQi] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJTwFk4eGpfLOCarFVaLAl + uri: https://api.stripe.com/v1/mandates/mandate_1QUVAhFk4eGpfLOCxpYh6c4A response: - body: {string: "{\n \"id\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - ,\n \"created\": 1671833568,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGdmqk7gOwWc\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"1ISTV3WNBHW9KGYZ\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"1ISTV3WNBHW9KGYZ\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"mandate_1QUVAhFk4eGpfLOCxpYh6c4A\",\n \"object\"\ + : \"mandate\",\n \"customer_acceptance\": {\n \"accepted_at\": 1733843783,\n\ + \ \"online\": {\n \"ip_address\": \"0.0.0.0\",\n \"user_agent\"\ + : \"Pando-test-client/0.47\"\n },\n \"type\": \"online\"\n },\n \"\ + livemode\": false,\n \"multi_use\": {},\n \"payment_method\": \"pm_1QUVAgFk4eGpfLOCwpWcsze0\"\ + ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \"reference\"\ + : \"76YHYLMRVJ1CR21W\",\n \"url\": \"https://payments.stripe.com/sepa_debit/mandate/mandate_test_YWNjdF8xQ2h5YXlGazRlR3BmTE9DLG1hbmRhdGVzdF9STkZnd282NXhLYlV2RWlHcDZrNGJaZEV5WmxvVGxC0000n4uG9tFB\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"status\": \"active\",\n\ + \ \"type\": \"multi_use\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1577'] + Content-Length: ['686'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:51 GMT'] - Request-Id: [req_rMa9OT3Fnh8ZvY] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:24 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_sFvs2qD6FeTq3l] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJTwFk4eGpfLOCarFVaLAl + uri: https://api.stripe.com/v1/mandates/mandate_1QUVAhFk4eGpfLOCxpYh6c4A response: - body: {string: "{\n \"id\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - ,\n \"created\": 1671833568,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGdmqk7gOwWc\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"1ISTV3WNBHW9KGYZ\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"1ISTV3WNBHW9KGYZ\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"mandate_1QUVAhFk4eGpfLOCxpYh6c4A\",\n \"object\"\ + : \"mandate\",\n \"customer_acceptance\": {\n \"accepted_at\": 1733843783,\n\ + \ \"online\": {\n \"ip_address\": \"0.0.0.0\",\n \"user_agent\"\ + : \"Pando-test-client/0.47\"\n },\n \"type\": \"online\"\n },\n \"\ + livemode\": false,\n \"multi_use\": {},\n \"payment_method\": \"pm_1QUVAgFk4eGpfLOCwpWcsze0\"\ + ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \"reference\"\ + : \"76YHYLMRVJ1CR21W\",\n \"url\": \"https://payments.stripe.com/sepa_debit/mandate/mandate_test_YWNjdF8xQ2h5YXlGazRlR3BmTE9DLG1hbmRhdGVzdF9STkZnd282NXhLYlV2RWlHcDZrNGJaZEV5WmxvVGxC0000n4uG9tFB\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"status\": \"active\",\n\ + \ \"type\": \"multi_use\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1577'] + Content-Length: ['686'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:51 GMT'] - Request-Id: [req_DpA1jia27sX12P] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:24 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_fanxDaadWzuOe5] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/charges/py_1MIJTyFk4eGpfLOCYulvxPKP + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVAgFk4eGpfLOCwpWcsze0 response: - body: {string: "{\n \"id\": \"py_1MIJTyFk4eGpfLOCYulvxPKP\",\n \"object\": \"\ - charge\",\n \"amount\": 10000,\n \"amount_captured\": 10000,\n \"amount_refunded\"\ - : 0,\n \"application\": null,\n \"application_fee\": null,\n \"application_fee_amount\"\ - : null,\n \"balance_transaction\": null,\n \"billing_details\": {\n \"\ - address\": {\n \"city\": null,\n \"country\": \"FR\",\n \"\ - line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n \ - \ \"state\": null\n },\n \"email\": \"donor@example.com\",\n \"\ - name\": \"Jane Doe\",\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ - : null,\n \"captured\": true,\n \"created\": 1671833570,\n \"currency\"\ - : \"eur\",\n \"customer\": \"cus_N2OGdmqk7gOwWc\",\n \"description\": \"\ - Liberapay\",\n \"destination\": null,\n \"dispute\": null,\n \"disputed\"\ - : false,\n \"failure_balance_transaction\": null,\n \"failure_code\": null,\n\ - \ \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\": null,\n\ - \ \"livemode\": false,\n \"metadata\": {\n \"payin_id\": \"2270\"\n \ - \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \"outcome\": {\n \ - \ \"network_status\": \"approved_by_network\",\n \"reason\": null,\n \ - \ \"risk_level\": \"not_assessed\",\n \"seller_message\": \"Payment complete.\"\ - ,\n \"type\": \"authorized\"\n },\n \"paid\": false,\n \"payment_intent\"\ - : null,\n \"payment_method\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\",\n \"payment_method_details\"\ - : {\n \"sepa_debit\": {\n \"bank_code\": \"20041\",\n \"branch_code\"\ - : \"01005\",\n \"country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\"\ - ,\n \"last4\": \"2606\",\n \"mandate\": null\n },\n \"type\"\ - : \"sepa_debit\"\n },\n \"receipt_email\": null,\n \"receipt_number\":\ - \ null,\n \"receipt_url\": null,\n \"refunded\": false,\n \"refunds\":\ - \ {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ - \ \"total_count\": 0,\n \"url\": \"/v1/charges/py_1MIJTyFk4eGpfLOCYulvxPKP/refunds\"\ - \n },\n \"review\": null,\n \"shipping\": null,\n \"source\": {\n \"\ - id\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\",\n \"object\": \"source\",\n \ - \ \"amount\": null,\n \"client_secret\": \"src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - ,\n \"created\": 1671833570,\n \"currency\": \"eur\",\n \"customer\"\ - : \"cus_N2OGdmqk7gOwWc\",\n \"flow\": \"none\",\n \"livemode\": false,\n\ - \ \"mandate\": {\n \"acceptance\": {\n \"date\": null,\n \ - \ \"ip\": null,\n \"offline\": null,\n \"online\": null,\n\ - \ \"status\": \"pending\",\n \"type\": null,\n \"user_agent\"\ - : null\n },\n \"amount\": null,\n \"currency\": null,\n \ - \ \"interval\": \"variable\",\n \"notification_method\": \"none\",\n\ - \ \"reference\": \"1ISTV3WNBHW9KGYZ\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n\ - \ \"city\": null,\n \"country\": \"FR\",\n \"line1\"\ - : null,\n \"line2\": null,\n \"postal_code\": null,\n \ - \ \"state\": null\n },\n \"email\": \"donor@example.com\",\n \ - \ \"name\": \"Jane Doe\",\n \"phone\": null,\n \"verified_address\"\ - : null,\n \"verified_email\": null,\n \"verified_name\": null,\n\ - \ \"verified_phone\": null\n },\n \"sepa_debit\": {\n \"bank_code\"\ - : \"20041\",\n \"branch_code\": \"01005\",\n \"country\": \"FR\"\ - ,\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\": \"2606\"\ - ,\n \"mandate_reference\": \"1ISTV3WNBHW9KGYZ\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\"\ - ,\n \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n },\n \"\ - source_transfer\": null,\n \"statement_descriptor\": \"Liberapay 2270\",\n\ - \ \"statement_descriptor_suffix\": null,\n \"status\": \"pending\",\n \"\ - transfer_data\": null,\n \"transfer_group\": null\n}"} - headers: - Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - Access-Control-Max-Age: ['300'] - Cache-Control: ['no-cache, no-store'] - Connection: [keep-alive] - Content-Length: ['3709'] - Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:12:51 GMT'] - Request-Id: [req_5F5pIwaLfcSbMI] + body: {string: "{\n \"id\": \"pm_1QUVAgFk4eGpfLOCwpWcsze0\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843782,\n\ + \ \"customer\": \"cus_RNFgMVwWYXbe6X\",\n \"livemode\": false,\n \"metadata\"\ + : {},\n \"sepa_debit\": {\n \"bank_code\": \"2402006\",\n \"branch_code\"\ + : \"\",\n \"country\": \"HR\",\n \"fingerprint\": \"Huptcna8LF77NpzK\"\ + ,\n \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"7589\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} + headers: + 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'] + Connection: [keep-alive] + Content-Length: ['729'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] + Content-Type: [application/json] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:25 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_uAMx3nAHCUKywL] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/charges/py_1MIJTyFk4eGpfLOCYulvxPKP + uri: https://api.stripe.com/v1/charges/py_3QUVAhFk4eGpfLOC13bSr64M response: - body: {string: "{\n \"id\": \"py_1MIJTyFk4eGpfLOCYulvxPKP\",\n \"object\": \"\ + body: {string: "{\n \"id\": \"py_3QUVAhFk4eGpfLOC13bSr64M\",\n \"object\": \"\ charge\",\n \"amount\": 10000,\n \"amount_captured\": 10000,\n \"amount_refunded\"\ : 0,\n \"application\": null,\n \"application_fee\": null,\n \"application_fee_amount\"\ - : null,\n \"balance_transaction\": \"txn_1MIJU4Fk4eGpfLOC49yV7Zze\",\n \"\ + : null,\n \"balance_transaction\": \"txn_3QUVAhFk4eGpfLOC1BiB5Bck\",\n \"\ billing_details\": {\n \"address\": {\n \"city\": null,\n \"\ - country\": \"FR\",\n \"line1\": null,\n \"line2\": null,\n \ - \ \"postal_code\": null,\n \"state\": null\n },\n \"email\": \"\ - donor@example.com\",\n \"name\": \"Jane Doe\",\n \"phone\": null\n \ - \ },\n \"calculated_statement_descriptor\": null,\n \"captured\": true,\n\ - \ \"created\": 1671833570,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGdmqk7gOwWc\",\n \"description\": \"Liberapay\",\n \"destination\"\ - : null,\n \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ - : null,\n \"failure_code\": null,\n \"failure_message\": null,\n \"fraud_details\"\ - : {},\n \"invoice\": null,\n \"livemode\": false,\n \"metadata\": {\n \ - \ \"payin_id\": \"2270\"\n },\n \"on_behalf_of\": null,\n \"order\":\ - \ null,\n \"outcome\": {\n \"network_status\": \"approved_by_network\"\ - ,\n \"reason\": null,\n \"risk_level\": \"not_assessed\",\n \"seller_message\"\ - : \"Payment complete.\",\n \"type\": \"authorized\"\n },\n \"paid\":\ - \ true,\n \"payment_intent\": null,\n \"payment_method\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\"\ - ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \"bank_code\"\ - : \"20041\",\n \"branch_code\": \"01005\",\n \"country\": \"FR\"\ - ,\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\": \"2606\"\ - ,\n \"mandate\": null\n },\n \"type\": \"sepa_debit\"\n },\n \ + country\": null,\n \"line1\": null,\n \"line2\": null,\n \"\ + postal_code\": null,\n \"state\": null\n },\n \"email\": \"jane.doe@example.com\"\ + ,\n \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ + : null,\n \"captured\": true,\n \"created\": 1733843784,\n \"currency\"\ + : \"eur\",\n \"customer\": \"cus_RNFgMVwWYXbe6X\",\n \"description\": \"\ + Liberapay\",\n \"destination\": null,\n \"dispute\": null,\n \"disputed\"\ + : false,\n \"failure_balance_transaction\": null,\n \"failure_code\": null,\n\ + \ \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\": null,\n\ + \ \"livemode\": false,\n \"metadata\": {\n \"payin_id\": \"2170\"\n \ + \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \"outcome\": {\n \ + \ \"network_advice_code\": null,\n \"network_decline_code\": null,\n \ + \ \"network_status\": \"approved_by_network\",\n \"reason\": null,\n\ + \ \"risk_level\": \"not_assessed\",\n \"seller_message\": \"Payment\ + \ complete.\",\n \"type\": \"authorized\"\n },\n \"paid\": true,\n \"\ + payment_intent\": \"pi_3QUVAhFk4eGpfLOC1IhlthgB\",\n \"payment_method\":\ + \ \"pm_1QUVAgFk4eGpfLOCwpWcsze0\",\n \"payment_method_details\": {\n \"\ + sepa_debit\": {\n \"bank_code\": \"2402006\",\n \"branch_code\"\ + : \"\",\n \"country\": \"HR\",\n \"fingerprint\": \"LDYVKh0lLK3nQ7jk\"\ + ,\n \"last4\": \"7589\",\n \"mandate\": \"mandate_1QUVAhFk4eGpfLOCxpYh6c4A\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"radar_options\": {},\n \ \ \"receipt_email\": null,\n \"receipt_number\": null,\n \"receipt_url\"\ - : \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKO7PmJ0GMgbasCrcdys6LBZu2r0p0gURPebwk3SYlgYPYA4SAgtAwBNa-35kOZIxYj9yGMpj7ivma4Bg\"\ + : \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKNO24boGMgaqF0xIY8k6LBZtwXOx6f2eotnY2sxQ4xYtSCynbAFhO3NZ79ZPMIbX6Oo-PPzFi-1pdkVd\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\": \"list\",\n \ \ \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \ - \ \"url\": \"/v1/charges/py_1MIJTyFk4eGpfLOCYulvxPKP/refunds\"\n },\n \"\ - review\": null,\n \"shipping\": null,\n \"source\": {\n \"id\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\"\ - ,\n \"object\": \"source\",\n \"amount\": null,\n \"client_secret\"\ - : \"src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\",\n \"created\": 1671833570,\n\ - \ \"currency\": \"eur\",\n \"customer\": \"cus_N2OGdmqk7gOwWc\",\n \ - \ \"flow\": \"none\",\n \"livemode\": false,\n \"mandate\": {\n \ - \ \"acceptance\": {\n \"date\": null,\n \"ip\": null,\n \ - \ \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n \ - \ },\n \"amount\": null,\n \"currency\": null,\n \"interval\"\ - : \"variable\",\n \"notification_method\": \"none\",\n \"reference\"\ - : \"1ISTV3WNBHW9KGYZ\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n\ - \ \"city\": null,\n \"country\": \"FR\",\n \"line1\"\ - : null,\n \"line2\": null,\n \"postal_code\": null,\n \ - \ \"state\": null\n },\n \"email\": \"donor@example.com\",\n \ - \ \"name\": \"Jane Doe\",\n \"phone\": null,\n \"verified_address\"\ - : null,\n \"verified_email\": null,\n \"verified_name\": null,\n\ - \ \"verified_phone\": null\n },\n \"sepa_debit\": {\n \"bank_code\"\ - : \"20041\",\n \"branch_code\": \"01005\",\n \"country\": \"FR\"\ - ,\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\": \"2606\"\ - ,\n \"mandate_reference\": \"1ISTV3WNBHW9KGYZ\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\"\ - ,\n \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n },\n \"\ - source_transfer\": null,\n \"statement_descriptor\": \"Liberapay 2270\",\n\ - \ \"statement_descriptor_suffix\": null,\n \"status\": \"succeeded\",\n\ - \ \"transfer_data\": null,\n \"transfer_group\": null\n}"} + \ \"url\": \"/v1/charges/py_3QUVAhFk4eGpfLOC13bSr64M/refunds\"\n },\n \"\ + review\": null,\n \"shipping\": null,\n \"source\": null,\n \"source_transfer\"\ + : null,\n \"statement_descriptor\": \"Liberapay 2170\",\n \"statement_descriptor_suffix\"\ + : null,\n \"status\": \"succeeded\",\n \"transfer_data\": null,\n \"transfer_group\"\ + : null\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['3890'] + Content-Length: ['2345'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:02 GMT'] - Request-Id: [req_J3faEzTXIRefJP] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:35 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_o5s8eGlkMscnmz] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/balance_transactions/txn_1MIJU4Fk4eGpfLOC49yV7Zze + uri: https://api.stripe.com/v1/balance_transactions/txn_3QUVAhFk4eGpfLOC1BiB5Bck response: - body: {string: "{\n \"id\": \"txn_1MIJU4Fk4eGpfLOC49yV7Zze\",\n \"object\":\ - \ \"balance_transaction\",\n \"amount\": 10000,\n \"available_on\": 1672272000,\n\ - \ \"created\": 1671833575,\n \"currency\": \"eur\",\n \"description\":\ + body: {string: "{\n \"id\": \"txn_3QUVAhFk4eGpfLOC1BiB5Bck\",\n \"object\":\ + \ \"balance_transaction\",\n \"amount\": 10000,\n \"available_on\": 1734652800,\n\ + \ \"created\": 1733843790,\n \"currency\": \"eur\",\n \"description\":\ \ \"Liberapay\",\n \"exchange_rate\": null,\n \"fee\": 35,\n \"fee_details\"\ : [\n {\n \"amount\": 35,\n \"application\": null,\n \"\ currency\": \"eur\",\n \"description\": \"Stripe processing fees\",\n\ \ \"type\": \"stripe_fee\"\n }\n ],\n \"net\": 9965,\n \"reporting_category\"\ - : \"charge\",\n \"source\": \"py_1MIJTyFk4eGpfLOCYulvxPKP\",\n \"status\"\ + : \"charge\",\n \"source\": \"py_3QUVAhFk4eGpfLOC13bSr64M\",\n \"status\"\ : \"pending\",\n \"type\": \"payment\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] Content-Length: ['558'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:02 GMT'] - Request-Id: [req_nCeMdFqNwfR8E8] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:36 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_HHTL8pcVsHDCSx] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJTwFk4eGpfLOCarFVaLAl + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVAgFk4eGpfLOCwpWcsze0 response: - body: {string: "{\n \"id\": \"src_1MIJTwFk4eGpfLOCarFVaLAl\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - ,\n \"created\": 1671833568,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGdmqk7gOwWc\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"1ISTV3WNBHW9KGYZ\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"1ISTV3WNBHW9KGYZ\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTwFk4eGpfLOCarFVaLAl/src_client_secret_jpdzp4TA311MUQfnuQgdtX2c\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"pm_1QUVAgFk4eGpfLOCwpWcsze0\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843782,\n\ + \ \"customer\": \"cus_RNFgMVwWYXbe6X\",\n \"livemode\": false,\n \"metadata\"\ + : {},\n \"sepa_debit\": {\n \"bank_code\": \"2402006\",\n \"branch_code\"\ + : \"\",\n \"country\": \"HR\",\n \"fingerprint\": \"Huptcna8LF77NpzK\"\ + ,\n \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"7589\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1577'] + Content-Length: ['729'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:02 GMT'] - Request-Id: [req_jAqXXUr0llGqWQ] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:36 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_kZFnjzxm8jNSO1] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null @@ -3179,260 +3644,327 @@ interactions: method: GET uri: https://api.stripe.com/v1/payment_methods/pm_card_jp response: - body: {string: "{\n \"id\": \"pm_1MIJUBFk4eGpfLOCToidZJJn\",\n \"object\": \"\ - payment_method\",\n \"billing_details\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": null,\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": null,\n \"name\": null,\n \"phone\": null\n },\n \"\ - card\": {\n \"brand\": \"visa\",\n \"checks\": {\n \"address_line1_check\"\ - : null,\n \"address_postal_code_check\": null,\n \"cvc_check\":\ - \ null\n },\n \"country\": \"JP\",\n \"exp_month\": 12,\n \"exp_year\"\ - : 2023,\n \"fingerprint\": \"4heNPBHbDWXWyXBc\",\n \"funding\": \"credit\"\ + body: {string: "{\n \"id\": \"pm_1QUVAuFk4eGpfLOCh8RbdOAX\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": null,\n \"name\": null,\n\ + \ \"phone\": null\n },\n \"card\": {\n \"brand\": \"visa\",\n \"\ + checks\": {\n \"address_line1_check\": null,\n \"address_postal_code_check\"\ + : null,\n \"cvc_check\": \"unchecked\"\n },\n \"country\": \"JP\"\ + ,\n \"display_brand\": \"visa\",\n \"exp_month\": 12,\n \"exp_year\"\ + : 2025,\n \"fingerprint\": \"4heNPBHbDWXWyXBc\",\n \"funding\": \"credit\"\ ,\n \"generated_from\": null,\n \"last4\": \"0003\",\n \"networks\"\ : {\n \"available\": [\n \"visa\"\n ],\n \"preferred\"\ : null\n },\n \"three_d_secure_usage\": {\n \"supported\": true\n\ - \ },\n \"wallet\": null\n },\n \"created\": 1671833583,\n \"customer\"\ + \ },\n \"wallet\": null\n },\n \"created\": 1733843796,\n \"customer\"\ : null,\n \"livemode\": false,\n \"metadata\": {},\n \"type\": \"card\"\ \n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['924'] + Content-Length: ['996'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:03 GMT'] - Request-Id: [req_Ed3BV7gZVjzjYn] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:36 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_6ygR0b1B1JItAL] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: email=donor%40example.com&payment_method=pm_1MIJUBFk4eGpfLOCToidZJJn + body: email=donor%40example.com&metadata[participant_id]=2180&payment_method=pm_1QUVAuFk4eGpfLOCh8RbdOAX&preferred_locales[0]=en headers: {} method: POST uri: https://api.stripe.com/v1/customers response: - body: {string: "{\n \"id\": \"cus_N2OG4XsS2Ltdxw\",\n \"object\": \"customer\"\ + body: {string: "{\n \"id\": \"cus_RNFgtep45YUXLx\",\n \"object\": \"customer\"\ ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ - created\": 1671833583,\n \"currency\": null,\n \"default_currency\": null,\n\ + created\": 1733843796,\n \"currency\": null,\n \"default_currency\": null,\n\ \ \"default_source\": null,\n \"delinquent\": false,\n \"description\"\ : null,\n \"discount\": null,\n \"email\": \"donor@example.com\",\n \"\ - invoice_prefix\": \"A2459E38\",\n \"invoice_settings\": {\n \"custom_fields\"\ + invoice_prefix\": \"32136D50\",\n \"invoice_settings\": {\n \"custom_fields\"\ : null,\n \"default_payment_method\": null,\n \"footer\": null,\n \ \ \"rendering_options\": null\n },\n \"livemode\": false,\n \"metadata\"\ - : {},\n \"name\": null,\n \"next_invoice_sequence\": 1,\n \"phone\": null,\n\ - \ \"preferred_locales\": [],\n \"shipping\": null,\n \"sources\": {\n \ - \ \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n \ - \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_N2OG4XsS2Ltdxw/sources\"\ - \n },\n \"subscriptions\": {\n \"object\": \"list\",\n \"data\": [],\n\ - \ \"has_more\": false,\n \"total_count\": 0,\n \"url\": \"/v1/customers/cus_N2OG4XsS2Ltdxw/subscriptions\"\ + : {\n \"participant_id\": \"2180\"\n },\n \"name\": null,\n \"next_invoice_sequence\"\ + : 1,\n \"phone\": null,\n \"preferred_locales\": [\n \"en\"\n ],\n \ + \ \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n \"\ + data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \"url\"\ + : \"/v1/customers/cus_RNFgtep45YUXLx/sources\"\n },\n \"subscriptions\"\ + : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ + \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_RNFgtep45YUXLx/subscriptions\"\ \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_N2OG4XsS2Ltdxw/tax_ids\"\n },\n \"\ + : 0,\n \"url\": \"/v1/customers/cus_RNFgtep45YUXLx/tax_ids\"\n },\n \"\ tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1217'] + Content-Length: ['1261'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:04 GMT'] - Idempotency-Key: [create_customer_for_participant_2280_with_pm_1MIJUBFk4eGpfLOCToidZJJn] - Original-Request: [req_EgyeNk9WNcgoie] - Request-Id: [req_EgyeNk9WNcgoie] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:37 GMT'] + Idempotency-Key: [create_customer_for_participant_2180_with_pm_1QUVAuFk4eGpfLOCh8RbdOAX] + Original-Request: [req_kjLMVD2n5oKT7E] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_kjLMVD2n5oKT7E] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=10000&confirm=True¤cy=eur&customer=cus_N2OG4XsS2Ltdxw&description=Liberapay&metadata[payin_id]=2280&off_session=False&payment_method=pm_1MIJUBFk4eGpfLOCToidZJJn&return_url=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2F2280&statement_descriptor=Liberapay+2280 + body: amount=10000&confirm=True¤cy=eur&customer=cus_RNFgtep45YUXLx&description=Liberapay&metadata[payin_id]=2180&off_session=False&payment_method=pm_1QUVAuFk4eGpfLOCh8RbdOAX&payment_method_types[0]=card&return_url=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2F2180&statement_descriptor=Liberapay+2180 headers: {} method: POST uri: https://api.stripe.com/v1/payment_intents response: - body: {string: "{\n \"id\": \"pi_3MIJUCFk4eGpfLOC1LbdZrTT\",\n \"object\": \"\ + body: {string: "{\n \"id\": \"pi_3QUVAvFk4eGpfLOC0HubUxJ1\",\n \"object\": \"\ payment_intent\",\n \"amount\": 10000,\n \"amount_capturable\": 0,\n \"\ amount_details\": {\n \"tip\": {}\n },\n \"amount_received\": 10000,\n\ \ \"application\": null,\n \"application_fee_amount\": null,\n \"automatic_payment_methods\"\ : null,\n \"canceled_at\": null,\n \"cancellation_reason\": null,\n \"\ capture_method\": \"automatic\",\n \"charges\": {\n \"object\": \"list\"\ - ,\n \"data\": [\n {\n \"id\": \"ch_3MIJUCFk4eGpfLOC10I8Nim4\"\ + ,\n \"data\": [\n {\n \"id\": \"ch_3QUVAvFk4eGpfLOC0Mbht8cs\"\ ,\n \"object\": \"charge\",\n \"amount\": 10000,\n \"\ amount_captured\": 10000,\n \"amount_refunded\": 0,\n \"application\"\ : null,\n \"application_fee\": null,\n \"application_fee_amount\"\ - : null,\n \"balance_transaction\": \"txn_3MIJUCFk4eGpfLOC1yZz9jy8\"\ + : null,\n \"balance_transaction\": \"txn_3QUVAvFk4eGpfLOC0pUkXJVq\"\ ,\n \"billing_details\": {\n \"address\": {\n \"\ city\": null,\n \"country\": null,\n \"line1\": null,\n\ \ \"line2\": null,\n \"postal_code\": null,\n \ \ \"state\": null\n },\n \"email\": null,\n \ \ \"name\": null,\n \"phone\": null\n },\n \"calculated_statement_descriptor\"\ - : \"LIBERAPAY 2280\",\n \"captured\": true,\n \"created\": 1671833584,\n\ - \ \"currency\": \"eur\",\n \"customer\": \"cus_N2OG4XsS2Ltdxw\"\ + : \"LIBERAPAY 2180\",\n \"captured\": true,\n \"created\": 1733843797,\n\ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFgtep45YUXLx\"\ ,\n \"description\": \"Liberapay\",\n \"destination\": null,\n\ \ \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ : null,\n \"failure_code\": null,\n \"failure_message\": null,\n\ \ \"fraud_details\": {},\n \"invoice\": null,\n \"livemode\"\ - : false,\n \"metadata\": {\n \"payin_id\": \"2280\"\n \ + : false,\n \"metadata\": {\n \"payin_id\": \"2180\"\n \ \ },\n \"on_behalf_of\": null,\n \"order\": null,\n \ - \ \"outcome\": {\n \"network_status\": \"approved_by_network\"\ + \ \"outcome\": {\n \"network_advice_code\": null,\n \"\ + network_decline_code\": null,\n \"network_status\": \"approved_by_network\"\ ,\n \"reason\": null,\n \"risk_level\": \"normal\",\n \ - \ \"risk_score\": 45,\n \"seller_message\": \"Payment complete.\"\ + \ \"risk_score\": 58,\n \"seller_message\": \"Payment complete.\"\ ,\n \"type\": \"authorized\"\n },\n \"paid\": true,\n\ - \ \"payment_intent\": \"pi_3MIJUCFk4eGpfLOC1LbdZrTT\",\n \"\ - payment_method\": \"pm_1MIJUBFk4eGpfLOCToidZJJn\",\n \"payment_method_details\"\ - : {\n \"card\": {\n \"brand\": \"visa\",\n \ - \ \"checks\": {\n \"address_line1_check\": null,\n \ - \ \"address_postal_code_check\": null,\n \"cvc_check\": null\n\ - \ },\n \"country\": \"JP\",\n \"exp_month\"\ - : 12,\n \"exp_year\": 2023,\n \"fingerprint\": \"4heNPBHbDWXWyXBc\"\ - ,\n \"funding\": \"credit\",\n \"installments\": null,\n\ - \ \"last4\": \"0003\",\n \"mandate\": null,\n \ - \ \"network\": \"visa\",\n \"three_d_secure\": null,\n \ - \ \"wallet\": null\n },\n \"type\": \"card\"\n \ - \ },\n \"receipt_email\": null,\n \"receipt_number\":\ - \ null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKPHPmJ0GMgYZ5Qc1pyg6LBZGBP-GVj-e1pXKI2HmypvC_Zj_6Lq0myW391u1ndBJulLLpv5ZBJ60WMiv\"\ + \ \"payment_intent\": \"pi_3QUVAvFk4eGpfLOC0HubUxJ1\",\n \"\ + payment_method\": \"pm_1QUVAuFk4eGpfLOCh8RbdOAX\",\n \"payment_method_details\"\ + : {\n \"card\": {\n \"amount_authorized\": 10000,\n \ + \ \"authorization_code\": null,\n \"brand\": \"visa\"\ + ,\n \"checks\": {\n \"address_line1_check\": null,\n\ + \ \"address_postal_code_check\": null,\n \"cvc_check\"\ + : \"pass\"\n },\n \"country\": \"JP\",\n \ + \ \"exp_month\": 12,\n \"exp_year\": 2025,\n \"extended_authorization\"\ + : {\n \"status\": \"disabled\"\n },\n \"\ + fingerprint\": \"4heNPBHbDWXWyXBc\",\n \"funding\": \"credit\"\ + ,\n \"incremental_authorization\": {\n \"status\"\ + : \"unavailable\"\n },\n \"installments\": null,\n \ + \ \"last4\": \"0003\",\n \"mandate\": null,\n \ + \ \"multicapture\": {\n \"status\": \"unavailable\"\n \ + \ },\n \"network\": \"visa\",\n \"network_token\"\ + : {\n \"used\": false\n },\n \"overcapture\"\ + : {\n \"maximum_amount_capturable\": 10000,\n \"\ + status\": \"unavailable\"\n },\n \"three_d_secure\"\ + : null,\n \"wallet\": null\n },\n \"type\": \"\ + card\"\n },\n \"radar_options\": {},\n \"receipt_email\"\ + : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xQ2h5YXlGazRlR3BmTE9DKNa24boGMgYDYD041Eo6LBagkusuxWdl6eoLqlw730R36okD7ZTfn3jSMD-MYrZdx5Lvuf7pqjSd3HSB\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\"\ : \"list\",\n \"data\": [],\n \"has_more\": false,\n \ - \ \"total_count\": 0,\n \"url\": \"/v1/charges/ch_3MIJUCFk4eGpfLOC10I8Nim4/refunds\"\ + \ \"total_count\": 0,\n \"url\": \"/v1/charges/ch_3QUVAvFk4eGpfLOC0Mbht8cs/refunds\"\ \n },\n \"review\": null,\n \"shipping\": null,\n \ \ \"source\": null,\n \"source_transfer\": null,\n \"statement_descriptor\"\ - : \"Liberapay 2280\",\n \"statement_descriptor_suffix\": null,\n \ + : \"Liberapay 2180\",\n \"statement_descriptor_suffix\": null,\n \ \ \"status\": \"succeeded\",\n \"transfer_data\": null,\n \ \ \"transfer_group\": null\n }\n ],\n \"has_more\": false,\n\ - \ \"total_count\": 1,\n \"url\": \"/v1/charges?payment_intent=pi_3MIJUCFk4eGpfLOC1LbdZrTT\"\ - \n },\n \"client_secret\": \"pi_3MIJUCFk4eGpfLOC1LbdZrTT_secret_YjBdnr49oieeqmN3uo7DAJ3A6\"\ - ,\n \"confirmation_method\": \"automatic\",\n \"created\": 1671833584,\n\ - \ \"currency\": \"eur\",\n \"customer\": \"cus_N2OG4XsS2Ltdxw\",\n \"description\"\ + \ \"total_count\": 1,\n \"url\": \"/v1/charges?payment_intent=pi_3QUVAvFk4eGpfLOC0HubUxJ1\"\ + \n },\n \"client_secret\": \"pi_3QUVAvFk4eGpfLOC0HubUxJ1_secret_7oX3ut5Ef3jJcSkr6e7xTFnPW\"\ + ,\n \"confirmation_method\": \"automatic\",\n \"created\": 1733843797,\n\ + \ \"currency\": \"eur\",\n \"customer\": \"cus_RNFgtep45YUXLx\",\n \"description\"\ : \"Liberapay\",\n \"invoice\": null,\n \"last_payment_error\": null,\n\ - \ \"livemode\": false,\n \"metadata\": {\n \"payin_id\": \"2280\"\n \ - \ },\n \"next_action\": null,\n \"on_behalf_of\": null,\n \"payment_method\"\ - : \"pm_1MIJUBFk4eGpfLOCToidZJJn\",\n \"payment_method_options\": {\n \"\ - card\": {\n \"installments\": null,\n \"mandate_options\": null,\n\ - \ \"network\": null,\n \"request_three_d_secure\": \"automatic\"\ + \ \"latest_charge\": \"ch_3QUVAvFk4eGpfLOC0Mbht8cs\",\n \"livemode\": false,\n\ + \ \"metadata\": {\n \"payin_id\": \"2180\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUVAuFk4eGpfLOCh8RbdOAX\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {\n \"card\": {\n \"installments\": null,\n \"mandate_options\"\ + : null,\n \"network\": null,\n \"request_three_d_secure\": \"automatic\"\ \n }\n },\n \"payment_method_types\": [\n \"card\"\n ],\n \"processing\"\ : null,\n \"receipt_email\": null,\n \"review\": null,\n \"setup_future_usage\"\ : null,\n \"shipping\": null,\n \"source\": null,\n \"statement_descriptor\"\ - : \"Liberapay 2280\",\n \"statement_descriptor_suffix\": null,\n \"status\"\ + : \"Liberapay 2180\",\n \"statement_descriptor_suffix\": null,\n \"status\"\ : \"succeeded\",\n \"transfer_data\": null,\n \"transfer_group\": null\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['4584'] + Content-Length: ['5347'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:05 GMT'] - Idempotency-Key: [payin_intent_2280] - Original-Request: [req_TBb6JyXVLopqhQ] - Request-Id: [req_TBb6JyXVLopqhQ] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:38 GMT'] + Idempotency-Key: [payin_intent_2180] + Original-Request: [req_pdSFepoimeLFCB] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_pdSFepoimeLFCB] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/balance_transactions/txn_3MIJUCFk4eGpfLOC1yZz9jy8 + uri: https://api.stripe.com/v1/balance_transactions/txn_3QUVAvFk4eGpfLOC0pUkXJVq response: - body: {string: "{\n \"id\": \"txn_3MIJUCFk4eGpfLOC1yZz9jy8\",\n \"object\":\ - \ \"balance_transaction\",\n \"amount\": 10000,\n \"available_on\": 1672272000,\n\ - \ \"created\": 1671833584,\n \"currency\": \"eur\",\n \"description\":\ - \ \"Liberapay\",\n \"exchange_rate\": null,\n \"fee\": 315,\n \"fee_details\"\ - : [\n {\n \"amount\": 315,\n \"application\": null,\n \"\ + body: {string: "{\n \"id\": \"txn_3QUVAvFk4eGpfLOC0pUkXJVq\",\n \"object\":\ + \ \"balance_transaction\",\n \"amount\": 10000,\n \"available_on\": 1734048000,\n\ + \ \"created\": 1733843797,\n \"currency\": \"eur\",\n \"description\":\ + \ \"Liberapay\",\n \"exchange_rate\": null,\n \"fee\": 350,\n \"fee_details\"\ + : [\n {\n \"amount\": 350,\n \"application\": null,\n \"\ currency\": \"eur\",\n \"description\": \"Stripe processing fees\",\n\ - \ \"type\": \"stripe_fee\"\n }\n ],\n \"net\": 9685,\n \"reporting_category\"\ - : \"charge\",\n \"source\": \"ch_3MIJUCFk4eGpfLOC10I8Nim4\",\n \"status\"\ + \ \"type\": \"stripe_fee\"\n }\n ],\n \"net\": 9650,\n \"reporting_category\"\ + : \"charge\",\n \"source\": \"ch_3QUVAvFk4eGpfLOC0Mbht8cs\",\n \"status\"\ : \"pending\",\n \"type\": \"charge\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] Content-Length: ['559'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:06 GMT'] - Request-Id: [req_taRmFX3VquTxYM] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:38 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_i3ms5RbyVE7RZc] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=4843¤cy=EUR&description=secret+donation+for+creator_1+via+Liberapay&destination=acct_1MIJTGFsLJG8wY8M&metadata[payin_transfer_id]=2280&source_transaction=ch_3MIJUCFk4eGpfLOC10I8Nim4 + body: amount=4825¤cy=EUR&description=secret+donation+for+creator_1+via+Liberapay&destination=acct_1QUVA3Fw8sDQhJMt&metadata[payin_transfer_id]=2180&source_transaction=ch_3QUVAvFk4eGpfLOC0Mbht8cs headers: {} method: POST uri: https://api.stripe.com/v1/transfers response: - body: {string: "{\n \"id\": \"tr_3MIJUCFk4eGpfLOC1n1YuFF6\",\n \"object\": \"\ - transfer\",\n \"amount\": 4843,\n \"amount_reversed\": 0,\n \"balance_transaction\"\ - : \"txn_3MIJUCFk4eGpfLOC1oALIEQ1\",\n \"created\": 1671833586,\n \"currency\"\ + body: {string: "{\n \"id\": \"tr_3QUVAvFk4eGpfLOC0lLeZsCa\",\n \"object\": \"\ + transfer\",\n \"amount\": 4825,\n \"amount_reversed\": 0,\n \"balance_transaction\"\ + : \"txn_3QUVAvFk4eGpfLOC0OqrygGc\",\n \"created\": 1733843799,\n \"currency\"\ : \"eur\",\n \"description\": \"secret donation for creator_1 via Liberapay\"\ - ,\n \"destination\": \"acct_1MIJTGFsLJG8wY8M\",\n \"destination_payment\"\ - : \"py_1MIJUEFsLJG8wY8MOfDMJMY8\",\n \"livemode\": false,\n \"metadata\"\ - : {\n \"payin_transfer_id\": \"2280\"\n },\n \"reversals\": {\n \"\ + ,\n \"destination\": \"acct_1QUVA3Fw8sDQhJMt\",\n \"destination_payment\"\ + : \"py_1QUVAwFw8sDQhJMt5dREnL5R\",\n \"livemode\": false,\n \"metadata\"\ + : {\n \"payin_transfer_id\": \"2180\"\n },\n \"reversals\": {\n \"\ object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/transfers/tr_3MIJUCFk4eGpfLOC1n1YuFF6/reversals\"\ - \n },\n \"reversed\": false,\n \"source_transaction\": \"ch_3MIJUCFk4eGpfLOC10I8Nim4\"\ - ,\n \"source_type\": \"card\",\n \"transfer_group\": \"group_pi_3MIJUCFk4eGpfLOC1LbdZrTT\"\ + : 0,\n \"url\": \"/v1/transfers/tr_3QUVAvFk4eGpfLOC0lLeZsCa/reversals\"\ + \n },\n \"reversed\": false,\n \"source_transaction\": \"ch_3QUVAvFk4eGpfLOC0Mbht8cs\"\ + ,\n \"source_type\": \"card\",\n \"transfer_group\": \"group_pi_3QUVAvFk4eGpfLOC0HubUxJ1\"\ \n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] Content-Length: ['774'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:07 GMT'] - Idempotency-Key: [payin_transfer_2280] - Original-Request: [req_W45Vs7rXGKFpL7] - Request-Id: [req_W45Vs7rXGKFpL7] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:39 GMT'] + Idempotency-Key: [payin_transfer_2180] + Original-Request: [req_fEXjePnB5ibkYM] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_fEXjePnB5ibkYM] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/charges/py_1MIJUEFsLJG8wY8MOfDMJMY8 + uri: https://api.stripe.com/v1/charges/py_1QUVAwFw8sDQhJMt5dREnL5R response: - body: {string: "{\n \"id\": \"py_1MIJUEFsLJG8wY8MOfDMJMY8\",\n \"object\": \"\ - charge\",\n \"amount\": 4843,\n \"amount_captured\": 4843,\n \"amount_refunded\"\ + body: {string: "{\n \"id\": \"py_1QUVAwFw8sDQhJMt5dREnL5R\",\n \"object\": \"\ + charge\",\n \"amount\": 4825,\n \"amount_captured\": 4825,\n \"amount_refunded\"\ : 0,\n \"application\": \"ca_DEYxiYHBHZtGj32l9uczcsunbQOcRq8H\",\n \"application_fee\"\ : null,\n \"application_fee_amount\": null,\n \"balance_transaction\": \"\ - txn_1MIJUEFsLJG8wY8MYlfauCbM\",\n \"billing_details\": {\n \"address\"\ + txn_1QUVAxFw8sDQhJMtQqL0aD1Z\",\n \"billing_details\": {\n \"address\"\ : {\n \"city\": null,\n \"country\": null,\n \"line1\": null,\n\ \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ \ },\n \"email\": null,\n \"name\": null,\n \"phone\": null\n\ \ },\n \"calculated_statement_descriptor\": null,\n \"captured\": true,\n\ - \ \"created\": 1671833586,\n \"currency\": \"eur\",\n \"customer\": null,\n\ + \ \"created\": 1733843799,\n \"currency\": \"eur\",\n \"customer\": null,\n\ \ \"description\": null,\n \"destination\": null,\n \"dispute\": null,\n\ \ \"disputed\": false,\n \"failure_balance_transaction\": null,\n \"failure_code\"\ : null,\n \"failure_message\": null,\n \"fraud_details\": {},\n \"invoice\"\ @@ -3441,93 +3973,115 @@ interactions: payment_intent\": null,\n \"payment_method\": null,\n \"payment_method_details\"\ : {\n \"stripe_account\": {},\n \"type\": \"stripe_account\"\n },\n\ \ \"receipt_email\": null,\n \"receipt_number\": null,\n \"receipt_url\"\ - : \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xTUlKVEdGc0xKRzh3WThNKPPPmJ0GMgZaw-BSmxQ6LBbqYTXxzmt9_IXk5gWekEi4-129v-tXsMp0T3wqmQqyvWVvnGikAYzntDPc\"\ + : \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xUVVWQTNGdzhzRFFoSk10KNe24boGMgZ5AJrzAM46LBYBm8FMp8H80B4NnYWkc1Ug24Km5_uz6PWQdlsn7dWVo89BEEScM1Ne0x8X\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\": \"list\",\n \ \ \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \ - \ \"url\": \"/v1/charges/py_1MIJUEFsLJG8wY8MOfDMJMY8/refunds\"\n },\n \"\ + \ \"url\": \"/v1/charges/py_1QUVAwFw8sDQhJMt5dREnL5R/refunds\"\n },\n \"\ review\": null,\n \"shipping\": null,\n \"source\": {\n \"id\": \"acct_1ChyayFk4eGpfLOC\"\ ,\n \"object\": \"account\",\n \"application_icon\": \"https://files.stripe.com/links/fl_live_pcO27i8SSea27yZPmUHDPhiF\"\ - ,\n \"application_logo\": \"https://s3.amazonaws.com/stripe-uploads/acct_1ChyayFk4eGpfLOCapplication-logo-icon_v2_yellow_r.100.png\"\ + ,\n \"application_logo\": \"https://files.stripe.com/links/MDB8YWNjdF8xQ2h5YXlGazRlR3BmTE9DfGZsX2xpdmVfVXlVTEhzWmxkR1dxSWFBTldwc05KTVJh00Fmg4BAPU\"\ ,\n \"application_name\": \"Liberapay\",\n \"application_url\": \"https://liberapay.com/\"\ - \n },\n \"source_transfer\": \"tr_3MIJUCFk4eGpfLOC1n1YuFF6\",\n \"statement_descriptor\"\ + \n },\n \"source_transfer\": \"tr_3QUVAvFk4eGpfLOC0lLeZsCa\",\n \"statement_descriptor\"\ : null,\n \"statement_descriptor_suffix\": null,\n \"status\": \"succeeded\"\ ,\n \"transfer_data\": null,\n \"transfer_group\": null\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['2184'] + Content-Length: ['2199'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:07 GMT'] - Request-Id: [req_pTSfMakvrEwaqP] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:39 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_cCEkyELyE0A6YA] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Account: [acct_1MIJTGFsLJG8wY8M] + Stripe-Account: [acct_1QUVA3Fw8sDQhJMt] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: description=secret+donation+for+creator_1+via+Liberapay&metadata[liberapay_transfer_id]=2280 + body: description=secret+donation+for+creator_1+via+Liberapay&metadata[liberapay_transfer_id]=2180 headers: {} method: POST - uri: https://api.stripe.com/v1/charges/py_1MIJUEFsLJG8wY8MOfDMJMY8 + uri: https://api.stripe.com/v1/charges/py_1QUVAwFw8sDQhJMt5dREnL5R response: - body: {string: "{\n \"id\": \"py_1MIJUEFsLJG8wY8MOfDMJMY8\",\n \"object\": \"\ - charge\",\n \"amount\": 4843,\n \"amount_captured\": 4843,\n \"amount_refunded\"\ + body: {string: "{\n \"id\": \"py_1QUVAwFw8sDQhJMt5dREnL5R\",\n \"object\": \"\ + charge\",\n \"amount\": 4825,\n \"amount_captured\": 4825,\n \"amount_refunded\"\ : 0,\n \"application\": \"ca_DEYxiYHBHZtGj32l9uczcsunbQOcRq8H\",\n \"application_fee\"\ : null,\n \"application_fee_amount\": null,\n \"balance_transaction\": \"\ - txn_1MIJUEFsLJG8wY8MYlfauCbM\",\n \"billing_details\": {\n \"address\"\ + txn_1QUVAxFw8sDQhJMtQqL0aD1Z\",\n \"billing_details\": {\n \"address\"\ : {\n \"city\": null,\n \"country\": null,\n \"line1\": null,\n\ \ \"line2\": null,\n \"postal_code\": null,\n \"state\": null\n\ \ },\n \"email\": null,\n \"name\": null,\n \"phone\": null\n\ \ },\n \"calculated_statement_descriptor\": null,\n \"captured\": true,\n\ - \ \"created\": 1671833586,\n \"currency\": \"eur\",\n \"customer\": null,\n\ + \ \"created\": 1733843799,\n \"currency\": \"eur\",\n \"customer\": null,\n\ \ \"description\": \"secret donation for creator_1 via Liberapay\",\n \"\ destination\": null,\n \"dispute\": null,\n \"disputed\": false,\n \"failure_balance_transaction\"\ : null,\n \"failure_code\": null,\n \"failure_message\": null,\n \"fraud_details\"\ : {},\n \"invoice\": null,\n \"livemode\": false,\n \"metadata\": {\n \ - \ \"liberapay_transfer_id\": \"2280\"\n },\n \"on_behalf_of\": null,\n\ + \ \"liberapay_transfer_id\": \"2180\"\n },\n \"on_behalf_of\": null,\n\ \ \"order\": null,\n \"outcome\": null,\n \"paid\": true,\n \"payment_intent\"\ : null,\n \"payment_method\": null,\n \"payment_method_details\": {\n \ \ \"stripe_account\": {},\n \"type\": \"stripe_account\"\n },\n \"receipt_email\"\ - : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xTUlKVEdGc0xKRzh3WThNKPfPmJ0GMgaKLBblrtM6LBY9iEtuSqVGsaFct1UiJK1nPHSBZplwOB0pQ50BQ8kZmLhzZxQU2dmXuoEr\"\ + : null,\n \"receipt_number\": null,\n \"receipt_url\": \"https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xUVVWQTNGdzhzRFFoSk10KNi24boGMgbrWWhme6A6LBah4kzLh-BC3LDRa3v4D0SJxJ4ov37KdQWG_REL65EDUvTesBD9XCH_0UgP\"\ ,\n \"refunded\": false,\n \"refunds\": {\n \"object\": \"list\",\n \ \ \"data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \ - \ \"url\": \"/v1/charges/py_1MIJUEFsLJG8wY8MOfDMJMY8/refunds\"\n },\n \"\ + \ \"url\": \"/v1/charges/py_1QUVAwFw8sDQhJMt5dREnL5R/refunds\"\n },\n \"\ review\": null,\n \"shipping\": null,\n \"source\": {\n \"id\": \"acct_1ChyayFk4eGpfLOC\"\ ,\n \"object\": \"account\",\n \"application_icon\": \"https://files.stripe.com/links/fl_live_pcO27i8SSea27yZPmUHDPhiF\"\ - ,\n \"application_logo\": \"https://s3.amazonaws.com/stripe-uploads/acct_1ChyayFk4eGpfLOCapplication-logo-icon_v2_yellow_r.100.png\"\ + ,\n \"application_logo\": \"https://files.stripe.com/links/MDB8YWNjdF8xQ2h5YXlGazRlR3BmTE9DfGZsX2xpdmVfVXlVTEhzWmxkR1dxSWFBTldwc05KTVJh00Fmg4BAPU\"\ ,\n \"application_name\": \"Liberapay\",\n \"application_url\": \"https://liberapay.com/\"\ - \n },\n \"source_transfer\": \"tr_3MIJUCFk4eGpfLOC1n1YuFF6\",\n \"statement_descriptor\"\ + \n },\n \"source_transfer\": \"tr_3QUVAvFk4eGpfLOC0lLeZsCa\",\n \"statement_descriptor\"\ : null,\n \"statement_descriptor_suffix\": null,\n \"status\": \"succeeded\"\ ,\n \"transfer_data\": null,\n \"transfer_group\": null\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['2264'] + Content-Length: ['2279'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:11 GMT'] - Idempotency-Key: [12efe9c4-dcd8-48e0-b8b9-3cbdf2e5bb23] - Original-Request: [req_Z49zXCLuymxcrm] - Request-Id: [req_Z49zXCLuymxcrm] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:40 GMT'] + Idempotency-Key: [01b0d41e-1c1e-4a11-b916-422ad399ed80] + Original-Request: [req_ApxVR4eXpGBot1] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_ApxVR4eXpGBot1] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Account: [acct_1MIJTGFsLJG8wY8M] + Stripe-Account: [acct_1QUVA3Fw8sDQhJMt] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: amount=4842¤cy=EUR&description=secret+donation+for+creator_2+via+Liberapay&destination=acct_invalid&metadata[payin_transfer_id]=2281&source_transaction=ch_3MIJUCFk4eGpfLOC10I8Nim4 + body: amount=4825¤cy=EUR&description=secret+donation+for+creator_2+via+Liberapay&destination=acct_invalid&metadata[payin_transfer_id]=2181&source_transaction=ch_3QUVAvFk4eGpfLOC0Mbht8cs headers: {} method: POST uri: https://api.stripe.com/v1/transfers @@ -3535,552 +4089,477 @@ interactions: body: {string: "{\n \"error\": {\n \"code\": \"resource_missing\",\n \"\ doc_url\": \"https://stripe.com/docs/error-codes/resource-missing\",\n \ \ \"message\": \"No such destination: 'acct_invalid'\",\n \"param\": \"\ - destination\",\n \"request_log_url\": \"https://dashboard.stripe.com/test/logs/req_4nNEUalzdx63zg?t=1671833591\"\ + destination\",\n \"request_log_url\": \"https://dashboard.stripe.com/test/logs/req_Szo92C6Rlut47w?t=1733843800\"\ ,\n \"type\": \"invalid_request_error\"\n }\n}\n"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] Content-Length: ['339'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:12 GMT'] - Idempotency-Key: [payin_transfer_2281] - Original-Request: [req_4nNEUalzdx63zg] - Request-Id: [req_4nNEUalzdx63zg] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:40 GMT'] + Idempotency-Key: [payin_transfer_2181] + Original-Request: [req_Szo92C6Rlut47w] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_Szo92C6Rlut47w] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 400, message: Bad Request} - request: - body: charge=ch_3MIJUCFk4eGpfLOC10I8Nim4&amount=5000 + body: charge=ch_3QUVAvFk4eGpfLOC0Mbht8cs&amount=5000 headers: {} method: POST uri: https://api.stripe.com/v1/refunds response: - body: {string: "{\n \"id\": \"re_3MIJUCFk4eGpfLOC19MJ9hZu\",\n \"object\": \"\ - refund\",\n \"amount\": 5000,\n \"balance_transaction\": \"txn_3MIJUCFk4eGpfLOC1LME50D7\"\ - ,\n \"charge\": \"ch_3MIJUCFk4eGpfLOC10I8Nim4\",\n \"created\": 1671833592,\n\ - \ \"currency\": \"eur\",\n \"metadata\": {},\n \"payment_intent\": \"pi_3MIJUCFk4eGpfLOC1LbdZrTT\"\ - ,\n \"reason\": null,\n \"receipt_number\": null,\n \"source_transfer_reversal\"\ + body: {string: "{\n \"id\": \"re_3QUVAvFk4eGpfLOC0OYnnmzN\",\n \"object\": \"\ + refund\",\n \"amount\": 5000,\n \"balance_transaction\": \"txn_3QUVAvFk4eGpfLOC0Kqp832B\"\ + ,\n \"charge\": \"ch_3QUVAvFk4eGpfLOC0Mbht8cs\",\n \"created\": 1733843800,\n\ + \ \"currency\": \"eur\",\n \"destination_details\": {\n \"card\": {\n\ + \ \"reference_status\": \"pending\",\n \"reference_type\": \"acquirer_reference_number\"\ + ,\n \"type\": \"refund\"\n },\n \"type\": \"card\"\n },\n \"\ + metadata\": {},\n \"payment_intent\": \"pi_3QUVAvFk4eGpfLOC0HubUxJ1\",\n\ + \ \"reason\": null,\n \"receipt_number\": null,\n \"source_transfer_reversal\"\ : null,\n \"status\": \"succeeded\",\n \"transfer_reversal\": null\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['430'] + Content-Length: ['615'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:13 GMT'] - Idempotency-Key: [refund_5000_from_payin_2280] - Original-Request: [req_HNIhvKq2bnN5UA] - Request-Id: [req_HNIhvKq2bnN5UA] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:41 GMT'] + Idempotency-Key: [refund_5000_from_payin_2180] + Original-Request: [req_zUtlyb9ZnS9VL6] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_zUtlyb9ZnS9VL6] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: bank_account[country]=FR&bank_account[currency]=EUR&bank_account[account_number]=FR1420041010050500013M02606&bank_account[account_holder_name]=Jane+Doe + body: type=sepa_debit&billing_details[email]=jane.doe%40example.com&billing_details[name]=Jane+Doe&sepa_debit[iban]=FI2112345600000785 headers: {} method: POST - uri: https://api.stripe.com/v1/tokens + uri: https://api.stripe.com/v1/payment_methods response: - body: {string: "{\n \"id\": \"btok_1MIJULFk4eGpfLOCNVsetMtz\",\n \"object\"\ - : \"token\",\n \"bank_account\": {\n \"id\": \"ba_1MIJULFk4eGpfLOCJwqaTTLv\"\ - ,\n \"object\": \"bank_account\",\n \"account_holder_name\": \"Jane\ - \ Doe\",\n \"account_holder_type\": null,\n \"account_type\": null,\n\ - \ \"bank_name\": \"STRIPE TEST BANK\",\n \"country\": \"FR\",\n \"\ - currency\": \"eur\",\n \"fingerprint\": \"T8MDJUvoericCF3x\",\n \"last4\"\ - : \"2606\",\n \"routing_number\": \"110000000\",\n \"status\": \"new\"\ - \n },\n \"client_ip\": \"77.132.65.89\",\n \"created\": 1671833593,\n \ - \ \"livemode\": false,\n \"type\": \"bank_account\",\n \"used\": false\n\ + body: {string: "{\n \"id\": \"pm_1QUVAzFk4eGpfLOC2aXbzPUe\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843801,\n\ + \ \"customer\": null,\n \"livemode\": false,\n \"metadata\": {},\n \"\ + sepa_debit\": {\n \"bank_code\": \"123456\",\n \"branch_code\": \"\"\ + ,\n \"country\": \"FI\",\n \"fingerprint\": \"izVzwLQwZ6JPDWis\",\n\ + \ \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"0785\"\n },\n \"type\": \"sepa_debit\"\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['574'] + Content-Length: ['712'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:13 GMT'] - Idempotency-Key: [3f48b4b0-5bcd-4683-8983-6224cfb7d248] - Original-Request: [req_Vm0LaIvlfCkrCS] - Request-Id: [req_Vm0LaIvlfCkrCS] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:42 GMT'] + Idempotency-Key: [create_finnish_sdd_pm_2200] + Original-Request: [req_9i7WINAxMdJ8lN] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_9i7WINAxMdJ8lN] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/tokens/btok_1MIJULFk4eGpfLOCNVsetMtz - response: - body: {string: "{\n \"id\": \"btok_1MIJULFk4eGpfLOCNVsetMtz\",\n \"object\"\ - : \"token\",\n \"bank_account\": {\n \"id\": \"ba_1MIJULFk4eGpfLOCJwqaTTLv\"\ - ,\n \"object\": \"bank_account\",\n \"account_holder_name\": \"Jane\ - \ Doe\",\n \"account_holder_type\": null,\n \"account_type\": null,\n\ - \ \"bank_name\": \"STRIPE TEST BANK\",\n \"country\": \"FR\",\n \"\ - currency\": \"eur\",\n \"fingerprint\": \"T8MDJUvoericCF3x\",\n \"last4\"\ - : \"2606\",\n \"routing_number\": \"110000000\",\n \"status\": \"new\"\ - \n },\n \"client_ip\": \"77.132.65.89\",\n \"created\": 1671833593,\n \ - \ \"livemode\": false,\n \"type\": \"bank_account\",\n \"used\": false\n\ - }"} - headers: - Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - Access-Control-Max-Age: ['300'] - Cache-Control: ['no-cache, no-store'] - Connection: [keep-alive] - Content-Length: ['574'] - Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:13 GMT'] - Request-Id: [req_nKpMbdExWnZ79M] - Server: [nginx] - Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Version: ['2019-08-14'] - status: {code: 200, message: OK} -- request: - body: amount=5200&owner[email]=donor%40example.com&redirect[return_url]=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2Fcomplete&token=btok_1MIJULFk4eGpfLOCNVsetMtz&type=sepa_debit&usage=reusable - headers: {} - method: POST - uri: https://api.stripe.com/v1/sources + uri: https://api.stripe.com/v1/payment_methods/pm_1QUVAzFk4eGpfLOC2aXbzPUe response: - body: {string: "{\n \"id\": \"src_1MIJUMFk4eGpfLOC5JiJDzO8\",\n \"object\":\ - \ \"source\",\n \"amount\": 5200,\n \"client_secret\": \"src_client_secret_lgGBDragWgRP83PrHATMiwjP\"\ - ,\n \"created\": 1671833594,\n \"currency\": \"eur\",\n \"flow\": \"none\"\ - ,\n \"livemode\": false,\n \"mandate\": {\n \"acceptance\": {\n \ - \ \"date\": null,\n \"ip\": null,\n \"offline\": null,\n \"\ - online\": null,\n \"status\": \"pending\",\n \"type\": null,\n \ - \ \"user_agent\": null\n },\n \"amount\": null,\n \"currency\"\ - : null,\n \"interval\": \"variable\",\n \"notification_method\": \"\ - none\",\n \"reference\": \"B4YKX0OCI2AZ8GOQ\",\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJUMFk4eGpfLOC5JiJDzO8/src_client_secret_lgGBDragWgRP83PrHATMiwjP\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"B4YKX0OCI2AZ8GOQ\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJUMFk4eGpfLOC5JiJDzO8/src_client_secret_lgGBDragWgRP83PrHATMiwjP\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"pm_1QUVAzFk4eGpfLOC2aXbzPUe\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": \"jane.doe@example.com\",\n\ + \ \"name\": \"Jane Doe\",\n \"phone\": null\n },\n \"created\": 1733843801,\n\ + \ \"customer\": null,\n \"livemode\": false,\n \"metadata\": {},\n \"\ + sepa_debit\": {\n \"bank_code\": \"123456\",\n \"branch_code\": \"\"\ + ,\n \"country\": \"FI\",\n \"fingerprint\": \"izVzwLQwZ6JPDWis\",\n\ + \ \"generated_from\": {\n \"charge\": null,\n \"setup_attempt\"\ + : null\n },\n \"last4\": \"0785\"\n },\n \"type\": \"sepa_debit\"\n\ + }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1541'] + Content-Length: ['712'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:14 GMT'] - Idempotency-Key: [create_source_from_btok_1MIJULFk4eGpfLOCNVsetMtz] - Original-Request: [req_DJh8CQZ5YzD82h] - Request-Id: [req_DJh8CQZ5YzD82h] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:42 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_K4ltqHkWukSRpG] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: email=donor%40example.com&source=src_1MIJUMFk4eGpfLOC5JiJDzO8 + body: email=donor%40example.com&metadata[participant_id]=2200&payment_method=pm_1QUVAzFk4eGpfLOC2aXbzPUe&preferred_locales[0]=en headers: {} method: POST uri: https://api.stripe.com/v1/customers response: - body: {string: "{\n \"id\": \"cus_N2OGfhIpbXw3a7\",\n \"object\": \"customer\"\ + body: {string: "{\n \"id\": \"cus_RNFgJGD5pU8CyZ\",\n \"object\": \"customer\"\ ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ - created\": 1671833594,\n \"currency\": null,\n \"default_currency\": null,\n\ - \ \"default_source\": \"src_1MIJUMFk4eGpfLOC5JiJDzO8\",\n \"delinquent\"\ - : false,\n \"description\": null,\n \"discount\": null,\n \"email\": \"\ - donor@example.com\",\n \"invoice_prefix\": \"3B7ED4AD\",\n \"invoice_settings\"\ - : {\n \"custom_fields\": null,\n \"default_payment_method\": null,\n\ - \ \"footer\": null,\n \"rendering_options\": null\n },\n \"livemode\"\ - : false,\n \"metadata\": {},\n \"name\": null,\n \"next_invoice_sequence\"\ - : 1,\n \"phone\": null,\n \"preferred_locales\": [],\n \"shipping\": null,\n\ - \ \"sources\": {\n \"object\": \"list\",\n \"data\": [\n {\n \ - \ \"id\": \"src_1MIJUMFk4eGpfLOC5JiJDzO8\",\n \"object\": \"\ - source\",\n \"amount\": 5200,\n \"client_secret\": \"src_client_secret_lgGBDragWgRP83PrHATMiwjP\"\ - ,\n \"created\": 1671833594,\n \"currency\": \"eur\",\n \ - \ \"customer\": \"cus_N2OGfhIpbXw3a7\",\n \"flow\": \"none\",\n\ - \ \"livemode\": false,\n \"mandate\": {\n \"acceptance\"\ - : {\n \"date\": null,\n \"ip\": null,\n \"\ - offline\": null,\n \"online\": null,\n \"status\": \"\ - pending\",\n \"type\": null,\n \"user_agent\": null\n\ - \ },\n \"amount\": null,\n \"currency\": null,\n\ - \ \"interval\": \"variable\",\n \"notification_method\"\ - : \"none\",\n \"reference\": \"B4YKX0OCI2AZ8GOQ\",\n \"\ - url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJUMFk4eGpfLOC5JiJDzO8/src_client_secret_lgGBDragWgRP83PrHATMiwjP\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"\ - address\": {\n \"city\": null,\n \"country\": \"FR\"\ - ,\n \"line1\": null,\n \"line2\": null,\n \ - \ \"postal_code\": null,\n \"state\": null\n },\n \ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\"\ - ,\n \"phone\": null,\n \"verified_address\": null,\n \ - \ \"verified_email\": null,\n \"verified_name\": null,\n \ - \ \"verified_phone\": null\n },\n \"sepa_debit\": {\n\ - \ \"bank_code\": \"20041\",\n \"branch_code\": \"01005\"\ - ,\n \"country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\"\ - ,\n \"last4\": \"2606\",\n \"mandate_reference\": \"B4YKX0OCI2AZ8GOQ\"\ - ,\n \"mandate_url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJUMFk4eGpfLOC5JiJDzO8/src_client_secret_lgGBDragWgRP83PrHATMiwjP\"\ - \n },\n \"statement_descriptor\": null,\n \"status\"\ - : \"chargeable\",\n \"type\": \"sepa_debit\",\n \"usage\": \"\ - reusable\"\n }\n ],\n \"has_more\": false,\n \"total_count\"\ - : 1,\n \"url\": \"/v1/customers/cus_N2OGfhIpbXw3a7/sources\"\n },\n \"\ - subscriptions\": {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\"\ - : false,\n \"total_count\": 0,\n \"url\": \"/v1/customers/cus_N2OGfhIpbXw3a7/subscriptions\"\ + created\": 1733843802,\n \"currency\": null,\n \"default_currency\": null,\n\ + \ \"default_source\": null,\n \"delinquent\": false,\n \"description\"\ + : null,\n \"discount\": null,\n \"email\": \"donor@example.com\",\n \"\ + invoice_prefix\": \"91A0C900\",\n \"invoice_settings\": {\n \"custom_fields\"\ + : null,\n \"default_payment_method\": null,\n \"footer\": null,\n \ + \ \"rendering_options\": null\n },\n \"livemode\": false,\n \"metadata\"\ + : {\n \"participant_id\": \"2200\"\n },\n \"name\": null,\n \"next_invoice_sequence\"\ + : 1,\n \"phone\": null,\n \"preferred_locales\": [\n \"en\"\n ],\n \ + \ \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n \"\ + data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \"url\"\ + : \"/v1/customers/cus_RNFgJGD5pU8CyZ/sources\"\n },\n \"subscriptions\"\ + : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ + \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_RNFgJGD5pU8CyZ/subscriptions\"\ \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_N2OGfhIpbXw3a7/tax_ids\"\n },\n \"\ + : 0,\n \"url\": \"/v1/customers/cus_RNFgJGD5pU8CyZ/tax_ids\"\n },\n \"\ tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['3180'] + Content-Length: ['1261'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:14 GMT'] - Idempotency-Key: [create_customer_for_participant_2300_with_src_1MIJUMFk4eGpfLOC5JiJDzO8] - Original-Request: [req_QBlkITXH7MHEhz] - Request-Id: [req_QBlkITXH7MHEhz] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:42 GMT'] + Idempotency-Key: [create_customer_for_participant_2200_with_pm_1QUVAzFk4eGpfLOC2aXbzPUe] + Original-Request: [req_NMWhMr0Lspx6KD] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_NMWhMr0Lspx6KD] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: null - headers: {} - method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJUMFk4eGpfLOC5JiJDzO8 - response: - body: {string: "{\n \"id\": \"src_1MIJUMFk4eGpfLOC5JiJDzO8\",\n \"object\":\ - \ \"source\",\n \"amount\": 5200,\n \"client_secret\": \"src_client_secret_lgGBDragWgRP83PrHATMiwjP\"\ - ,\n \"created\": 1671833594,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGfhIpbXw3a7\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"B4YKX0OCI2AZ8GOQ\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJUMFk4eGpfLOC5JiJDzO8/src_client_secret_lgGBDragWgRP83PrHATMiwjP\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"B4YKX0OCI2AZ8GOQ\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJUMFk4eGpfLOC5JiJDzO8/src_client_secret_lgGBDragWgRP83PrHATMiwjP\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} - headers: - Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] - Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] - Access-Control-Max-Age: ['300'] - Cache-Control: ['no-cache, no-store'] - Connection: [keep-alive] - Content-Length: ['1577'] - Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:15 GMT'] - Request-Id: [req_toXMOw7Kh5TJoi] - Server: [nginx] - Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Version: ['2019-08-14'] - status: {code: 200, message: OK} -- request: - body: null + body: confirm=True&customer=cus_RNFgJGD5pU8CyZ&mandate_data[customer_acceptance][type]=online&mandate_data[customer_acceptance][accepted_at]=1733843802&mandate_data[customer_acceptance][online][ip_address]=0.0.0.0&mandate_data[customer_acceptance][online][user_agent]=Pando-test-client%2F0.47&metadata[route_id]=110&payment_method=pm_1QUVAzFk4eGpfLOC2aXbzPUe&payment_method_types[0]=sepa_debit&usage=off_session headers: {} - method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJUMFk4eGpfLOC5JiJDzO8 + method: POST + uri: https://api.stripe.com/v1/setup_intents response: - body: {string: "{\n \"id\": \"src_1MIJUMFk4eGpfLOC5JiJDzO8\",\n \"object\":\ - \ \"source\",\n \"amount\": 5200,\n \"client_secret\": \"src_client_secret_lgGBDragWgRP83PrHATMiwjP\"\ - ,\n \"created\": 1671833594,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGfhIpbXw3a7\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"B4YKX0OCI2AZ8GOQ\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJUMFk4eGpfLOC5JiJDzO8/src_client_secret_lgGBDragWgRP83PrHATMiwjP\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"B4YKX0OCI2AZ8GOQ\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJUMFk4eGpfLOC5JiJDzO8/src_client_secret_lgGBDragWgRP83PrHATMiwjP\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"seti_1QUVB0Fk4eGpfLOCNGkZQdob\",\n \"object\"\ + : \"setup_intent\",\n \"application\": null,\n \"automatic_payment_methods\"\ + : null,\n \"cancellation_reason\": null,\n \"client_secret\": \"seti_1QUVB0Fk4eGpfLOCNGkZQdob_secret_RNFg1PGWXxFjan3RZFyE6LYIiaiyHPK\"\ + ,\n \"created\": 1733843802,\n \"customer\": \"cus_RNFgJGD5pU8CyZ\",\n \ + \ \"description\": null,\n \"flow_directions\": null,\n \"last_setup_error\"\ + : null,\n \"latest_attempt\": \"setatt_1QUVB0Fk4eGpfLOCIBZI1IXv\",\n \"\ + livemode\": false,\n \"mandate\": \"mandate_1QUVB0Fk4eGpfLOC7HH9dn9h\",\n\ + \ \"metadata\": {\n \"route_id\": \"110\"\n },\n \"next_action\": null,\n\ + \ \"on_behalf_of\": null,\n \"payment_method\": \"pm_1QUVAzFk4eGpfLOC2aXbzPUe\"\ + ,\n \"payment_method_configuration_details\": null,\n \"payment_method_options\"\ + : {},\n \"payment_method_types\": [\n \"sepa_debit\"\n ],\n \"single_use_mandate\"\ + : null,\n \"status\": \"succeeded\",\n \"usage\": \"off_session\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1577'] + Content-Length: ['869'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:13:15 GMT'] - Request-Id: [req_4rx9PN3fH0Sp04] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:43 GMT'] + Idempotency-Key: [create_SI_for_route_110] + Original-Request: [req_VWcQIJ2yS4wale] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_VWcQIJ2yS4wale] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] + Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/sources/src_1MIJTWFk4eGpfLOC54xD73Kc + uri: https://api.stripe.com/v1/mandates/mandate_1QUVB0Fk4eGpfLOC7HH9dn9h response: - body: {string: "{\n \"id\": \"src_1MIJTWFk4eGpfLOC54xD73Kc\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"client_secret\": \"src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - ,\n \"created\": 1671833542,\n \"currency\": \"eur\",\n \"customer\": \"\ - cus_N2OGXsC1dWM6IF\",\n \"flow\": \"none\",\n \"livemode\": false,\n \"\ - mandate\": {\n \"acceptance\": {\n \"date\": null,\n \"ip\":\ - \ null,\n \"offline\": null,\n \"online\": null,\n \"status\"\ - : \"pending\",\n \"type\": null,\n \"user_agent\": null\n },\n\ - \ \"amount\": null,\n \"currency\": null,\n \"interval\": \"variable\"\ - ,\n \"notification_method\": \"none\",\n \"reference\": \"YH1BZCYIBHEQS7SW\"\ - ,\n \"url\": \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"metadata\": {},\n \"owner\": {\n \"address\": {\n \"\ - city\": null,\n \"country\": \"FR\",\n \"line1\": null,\n \"\ - line2\": null,\n \"postal_code\": null,\n \"state\": null\n },\n\ - \ \"email\": \"donor@example.com\",\n \"name\": \"Jane Doe\",\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"sepa_debit\"\ - : {\n \"bank_code\": \"20041\",\n \"branch_code\": \"01005\",\n \"\ - country\": \"FR\",\n \"fingerprint\": \"bevtMDy4Cud4ZswV\",\n \"last4\"\ - : \"2606\",\n \"mandate_reference\": \"YH1BZCYIBHEQS7SW\",\n \"mandate_url\"\ - : \"https://hooks.stripe.com/adapter/sepa_debit/file/src_1MIJTWFk4eGpfLOC54xD73Kc/src_client_secret_1E7XtCVCGcGeZM6IGIT4slFE\"\ - \n },\n \"statement_descriptor\": null,\n \"status\": \"chargeable\",\n\ - \ \"type\": \"sepa_debit\",\n \"usage\": \"reusable\"\n}"} + body: {string: "{\n \"id\": \"mandate_1QUVB0Fk4eGpfLOC7HH9dn9h\",\n \"object\"\ + : \"mandate\",\n \"customer_acceptance\": {\n \"accepted_at\": 1733843802,\n\ + \ \"online\": {\n \"ip_address\": \"0.0.0.0\",\n \"user_agent\"\ + : \"Pando-test-client/0.47\"\n },\n \"type\": \"online\"\n },\n \"\ + livemode\": false,\n \"multi_use\": {},\n \"payment_method\": \"pm_1QUVAzFk4eGpfLOC2aXbzPUe\"\ + ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \"reference\"\ + : \"H64DCAEVQABW3GI3\",\n \"url\": \"https://payments.stripe.com/sepa_debit/mandate/mandate_test_YWNjdF8xQ2h5YXlGazRlR3BmTE9DLG1hbmRhdGVzdF9STkZnN0hlMWZ6ZzR5VGVCbDNHT2xnaWlnb0VRWDZR0000DLN805b1\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"status\": \"active\",\n\ + \ \"type\": \"multi_use\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET, POST, HEAD, OPTIONS, DELETE'] + Access-Control-Allow-Methods: ['GET, HEAD, PUT, PATCH, POST, DELETE'] Access-Control-Allow-Origin: ['*'] - Access-Control-Expose-Headers: ['Request-Id, Stripe-Manage-Version, X-Stripe-External-Auth-Required, - X-Stripe-Privileged-Session-Required'] + 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'] Connection: [keep-alive] - Content-Length: ['1577'] + Content-Length: ['686'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] - Date: ['Fri, 23 Dec 2022 22:25:32 GMT'] - Request-Id: [req_MnFm8cmQr3OrBP] + Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] + Date: ['Tue, 10 Dec 2024 15:16:43 GMT'] + Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] + Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] + Request-Id: [req_XYJkVTCQlMol6J] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] + Vary: [Origin] + X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] + X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: body: null headers: {} method: GET - uri: https://api.stripe.com/v1/tokens/tok_cn + uri: https://api.stripe.com/v1/mandates/mandate_1QUVB0Fk4eGpfLOC7HH9dn9h response: - body: {string: "{\n \"id\": \"tok_1PDQiWFk4eGpfLOCiSX7NtF1\",\n \"object\":\ - \ \"token\",\n \"card\": {\n \"id\": \"card_1PDQiWFk4eGpfLOC5QydDSvU\"\ - ,\n \"object\": \"card\",\n \"address_city\": null,\n \"address_country\"\ - : null,\n \"address_line1\": null,\n \"address_line1_check\": null,\n\ - \ \"address_line2\": null,\n \"address_state\": null,\n \"address_zip\"\ - : null,\n \"address_zip_check\": null,\n \"brand\": \"Visa\",\n \"\ - country\": \"CN\",\n \"cvc_check\": \"unchecked\",\n \"dynamic_last4\"\ - : null,\n \"exp_month\": 5,\n \"exp_year\": 2025,\n \"fingerprint\"\ - : \"tK1E0SQqkJE83bzR\",\n \"funding\": \"credit\",\n \"last4\": \"0002\"\ - ,\n \"metadata\": {},\n \"name\": null,\n \"networks\": {\n \ - \ \"preferred\": null\n },\n \"tokenization_method\": null,\n \"\ - wallet\": null\n },\n \"client_ip\": null,\n \"created\": 1714998748,\n\ - \ \"livemode\": false,\n \"type\": \"card\",\n \"used\": false\n}"} + body: {string: "{\n \"id\": \"mandate_1QUVB0Fk4eGpfLOC7HH9dn9h\",\n \"object\"\ + : \"mandate\",\n \"customer_acceptance\": {\n \"accepted_at\": 1733843802,\n\ + \ \"online\": {\n \"ip_address\": \"0.0.0.0\",\n \"user_agent\"\ + : \"Pando-test-client/0.47\"\n },\n \"type\": \"online\"\n },\n \"\ + livemode\": false,\n \"multi_use\": {},\n \"payment_method\": \"pm_1QUVAzFk4eGpfLOC2aXbzPUe\"\ + ,\n \"payment_method_details\": {\n \"sepa_debit\": {\n \"reference\"\ + : \"H64DCAEVQABW3GI3\",\n \"url\": \"https://payments.stripe.com/sepa_debit/mandate/mandate_test_YWNjdF8xQ2h5YXlGazRlR3BmTE9DLG1hbmRhdGVzdF9STkZnN0hlMWZ6ZzR5VGVCbDNHT2xnaWlnb0VRWDZR0000DLN805b1\"\ + \n },\n \"type\": \"sepa_debit\"\n },\n \"status\": \"active\",\n\ + \ \"type\": \"multi_use\"\n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET,HEAD,PUT,PATCH,POST,DELETE'] + 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'] Connection: [keep-alive] - Content-Length: ['837'] - Content-Security-Policy: ['report-uri https://q.stripe.com/csp-report?p=v1%2Ftokens%2F%3Atoken; - 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'''] + Content-Length: ['686'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] - Date: ['Mon, 06 May 2024 12:32:28 GMT'] + Date: ['Tue, 10 Dec 2024 15:16:43 GMT'] Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] - Request-Id: [req_EQHPgk1POGltV1] + Request-Id: [req_QLvaZKS29A7MEh] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Version: ['2019-08-14'] Vary: [Origin] X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: owner[email]=donor%40example.com&redirect[return_url]=http%3A%2F%2Flocalhost%2Fdonor%2Fgiving%2Fpay%2Fstripe%2Fcomplete&token=tok_1PDQiWFk4eGpfLOCiSX7NtF1&type=card&usage=reusable + body: null headers: {} - method: POST - uri: https://api.stripe.com/v1/sources + method: GET + uri: https://api.stripe.com/v1/payment_methods/pm_card_cn response: - body: {string: "{\n \"id\": \"src_1PDQiXFk4eGpfLOCf3u2MlSq\",\n \"object\":\ - \ \"source\",\n \"amount\": null,\n \"card\": {\n \"address_line1_check\"\ - : null,\n \"address_zip_check\": null,\n \"brand\": \"Visa\",\n \"\ - country\": \"CN\",\n \"cvc_check\": \"unchecked\",\n \"dynamic_last4\"\ - : null,\n \"exp_month\": 5,\n \"exp_year\": 2025,\n \"fingerprint\"\ - : \"tK1E0SQqkJE83bzR\",\n \"funding\": \"credit\",\n \"last4\": \"0002\"\ - ,\n \"name\": null,\n \"three_d_secure\": \"optional\",\n \"tokenization_method\"\ - : null\n },\n \"client_secret\": \"src_client_secret_e1CCxgxIyFytmuYuPHGXHwuL\"\ - ,\n \"created\": 1714998749,\n \"currency\": null,\n \"flow\": \"none\"\ - ,\n \"livemode\": false,\n \"metadata\": {},\n \"owner\": {\n \"address\"\ - : null,\n \"email\": \"donor@example.com\",\n \"name\": null,\n \"\ - phone\": null,\n \"verified_address\": null,\n \"verified_email\": null,\n\ - \ \"verified_name\": null,\n \"verified_phone\": null\n },\n \"statement_descriptor\"\ - : null,\n \"status\": \"chargeable\",\n \"type\": \"card\",\n \"usage\"\ - : \"reusable\"\n}"} + body: {string: "{\n \"id\": \"pm_1QUVB1Fk4eGpfLOCkaCTYr0M\",\n \"object\": \"\ + payment_method\",\n \"allow_redisplay\": \"unspecified\",\n \"billing_details\"\ + : {\n \"address\": {\n \"city\": null,\n \"country\": null,\n\ + \ \"line1\": null,\n \"line2\": null,\n \"postal_code\": null,\n\ + \ \"state\": null\n },\n \"email\": null,\n \"name\": null,\n\ + \ \"phone\": null\n },\n \"card\": {\n \"brand\": \"visa\",\n \"\ + checks\": {\n \"address_line1_check\": null,\n \"address_postal_code_check\"\ + : null,\n \"cvc_check\": \"unchecked\"\n },\n \"country\": \"CN\"\ + ,\n \"display_brand\": \"visa\",\n \"exp_month\": 12,\n \"exp_year\"\ + : 2025,\n \"fingerprint\": \"tK1E0SQqkJE83bzR\",\n \"funding\": \"credit\"\ + ,\n \"generated_from\": null,\n \"last4\": \"0002\",\n \"networks\"\ + : {\n \"available\": [\n \"visa\"\n ],\n \"preferred\"\ + : null\n },\n \"three_d_secure_usage\": {\n \"supported\": true\n\ + \ },\n \"wallet\": null\n },\n \"created\": 1733843803,\n \"customer\"\ + : null,\n \"livemode\": false,\n \"metadata\": {},\n \"type\": \"card\"\ + \n}"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET,HEAD,PUT,PATCH,POST,DELETE'] + 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'] Connection: [keep-alive] - Content-Length: ['961'] - Content-Security-Policy: ['report-uri https://q.stripe.com/csp-report?p=v1%2Fsources; - 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'''] + Content-Length: ['996'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] - Date: ['Mon, 06 May 2024 12:32:29 GMT'] - Idempotency-Key: [create_source_from_tok_1PDQiWFk4eGpfLOCiSX7NtF1] - Original-Request: [req_SGJ5HzinsgHaO1] + Date: ['Tue, 10 Dec 2024 15:16:43 GMT'] Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] - Request-Id: [req_SGJ5HzinsgHaO1] + Request-Id: [req_IZFtf6c54rPENr] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] - Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] Vary: [Origin] X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} - request: - body: email=donor%40example.com&source=src_1PDQiXFk4eGpfLOCf3u2MlSq + body: email=donor%40example.com&metadata[participant_id]=2210&payment_method=pm_1QUVB1Fk4eGpfLOCkaCTYr0M&preferred_locales[0]=en headers: {} method: POST uri: https://api.stripe.com/v1/customers response: - body: {string: "{\n \"id\": \"cus_Q3XoBRX8tjftwS\",\n \"object\": \"customer\"\ + body: {string: "{\n \"id\": \"cus_RNFgZKq9OTNktg\",\n \"object\": \"customer\"\ ,\n \"account_balance\": 0,\n \"address\": null,\n \"balance\": 0,\n \"\ - created\": 1714998749,\n \"currency\": null,\n \"default_currency\": null,\n\ - \ \"default_source\": \"src_1PDQiXFk4eGpfLOCf3u2MlSq\",\n \"delinquent\"\ - : false,\n \"description\": null,\n \"discount\": null,\n \"email\": \"\ - donor@example.com\",\n \"invoice_prefix\": \"644AECDD\",\n \"invoice_settings\"\ - : {\n \"custom_fields\": null,\n \"default_payment_method\": null,\n\ - \ \"footer\": null,\n \"rendering_options\": null\n },\n \"livemode\"\ - : false,\n \"metadata\": {},\n \"name\": null,\n \"next_invoice_sequence\"\ - : 1,\n \"phone\": null,\n \"preferred_locales\": [],\n \"shipping\": null,\n\ - \ \"sources\": {\n \"object\": \"list\",\n \"data\": [\n {\n \ - \ \"id\": \"src_1PDQiXFk4eGpfLOCf3u2MlSq\",\n \"object\": \"\ - source\",\n \"amount\": null,\n \"card\": {\n \"address_line1_check\"\ - : null,\n \"address_zip_check\": null,\n \"brand\": \"Visa\"\ - ,\n \"country\": \"CN\",\n \"cvc_check\": \"pass\",\n \ - \ \"dynamic_last4\": null,\n \"exp_month\": 5,\n \ - \ \"exp_year\": 2025,\n \"fingerprint\": \"tK1E0SQqkJE83bzR\",\n\ - \ \"funding\": \"credit\",\n \"last4\": \"0002\",\n \ - \ \"name\": null,\n \"three_d_secure\": \"optional\",\n \ - \ \"tokenization_method\": null\n },\n \"client_secret\"\ - : \"src_client_secret_e1CCxgxIyFytmuYuPHGXHwuL\",\n \"created\": 1714998749,\n\ - \ \"currency\": null,\n \"customer\": \"cus_Q3XoBRX8tjftwS\"\ - ,\n \"flow\": \"none\",\n \"livemode\": false,\n \"metadata\"\ - : {},\n \"owner\": {\n \"address\": null,\n \"email\"\ - : \"donor@example.com\",\n \"name\": null,\n \"phone\":\ - \ null,\n \"verified_address\": null,\n \"verified_email\"\ - : null,\n \"verified_name\": null,\n \"verified_phone\"\ - : null\n },\n \"statement_descriptor\": null,\n \"status\"\ - : \"chargeable\",\n \"type\": \"card\",\n \"usage\": \"reusable\"\ - \n }\n ],\n \"has_more\": false,\n \"total_count\": 1,\n \ - \ \"url\": \"/v1/customers/cus_Q3XoBRX8tjftwS/sources\"\n },\n \"subscriptions\"\ + created\": 1733843804,\n \"currency\": null,\n \"default_currency\": null,\n\ + \ \"default_source\": null,\n \"delinquent\": false,\n \"description\"\ + : null,\n \"discount\": null,\n \"email\": \"donor@example.com\",\n \"\ + invoice_prefix\": \"F438C078\",\n \"invoice_settings\": {\n \"custom_fields\"\ + : null,\n \"default_payment_method\": null,\n \"footer\": null,\n \ + \ \"rendering_options\": null\n },\n \"livemode\": false,\n \"metadata\"\ + : {\n \"participant_id\": \"2210\"\n },\n \"name\": null,\n \"next_invoice_sequence\"\ + : 1,\n \"phone\": null,\n \"preferred_locales\": [\n \"en\"\n ],\n \ + \ \"shipping\": null,\n \"sources\": {\n \"object\": \"list\",\n \"\ + data\": [],\n \"has_more\": false,\n \"total_count\": 0,\n \"url\"\ + : \"/v1/customers/cus_RNFgZKq9OTNktg/sources\"\n },\n \"subscriptions\"\ : {\n \"object\": \"list\",\n \"data\": [],\n \"has_more\": false,\n\ - \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_Q3XoBRX8tjftwS/subscriptions\"\ + \ \"total_count\": 0,\n \"url\": \"/v1/customers/cus_RNFgZKq9OTNktg/subscriptions\"\ \n },\n \"tax_exempt\": \"none\",\n \"tax_ids\": {\n \"object\": \"\ list\",\n \"data\": [],\n \"has_more\": false,\n \"total_count\"\ - : 0,\n \"url\": \"/v1/customers/cus_Q3XoBRX8tjftwS/tax_ids\"\n },\n \"\ + : 0,\n \"url\": \"/v1/customers/cus_RNFgZKq9OTNktg/tax_ids\"\n },\n \"\ tax_info\": null,\n \"tax_info_verification\": null,\n \"test_clock\": null\n\ }"} headers: Access-Control-Allow-Credentials: ['true'] - Access-Control-Allow-Methods: ['GET,HEAD,PUT,PATCH,POST,DELETE'] + 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'] Connection: [keep-alive] - Content-Length: ['2493'] - Content-Security-Policy: ['report-uri https://q.stripe.com/csp-report?p=v1%2Fcustomers; - 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'''] + Content-Length: ['1261'] + Content-Security-Policy: [base-uri 'none'; default-src 'none'; form-action 'none'; + frame-ancestors 'none'; img-src 'self'; script-src 'self' 'report-sample'; + style-src 'self'; upgrade-insecure-requests; report-uri /csp-violation] Content-Type: [application/json] Cross-Origin-Opener-Policy-Report-Only: [same-origin; report-to="coop"] - Date: ['Mon, 06 May 2024 12:32:30 GMT'] - Idempotency-Key: [create_customer_for_participant_2310_with_src_1PDQiXFk4eGpfLOCf3u2MlSq] - Original-Request: [req_TgAUzyWrG6GmIa] + Date: ['Tue, 10 Dec 2024 15:16:44 GMT'] + Idempotency-Key: [create_customer_for_participant_2210_with_pm_1QUVB1Fk4eGpfLOCkaCTYr0M] + Original-Request: [req_N3xAhNpStWE5VY] Report-To: ['{"group":"coop","max_age":8640,"endpoints":[{"url":"https://q.stripe.com/coop-report"}],"include_subdomains":true}'] Reporting-Endpoints: ['coop="https://q.stripe.com/coop-report"'] - Request-Id: [req_TgAUzyWrG6GmIa] + Request-Id: [req_N3xAhNpStWE5VY] Server: [nginx] Strict-Transport-Security: [max-age=63072000; includeSubDomains; preload] Stripe-Should-Retry: ['false'] Stripe-Version: ['2019-08-14'] Vary: [Origin] X-Content-Type-Options: [nosniff] + X-Stripe-Priority-Routing-Enabled: ['true'] X-Stripe-Routing-Context-Priority-Tier: [api-testmode] + X-Wc: [AB] status: {code: 200, message: OK} version: 1 diff --git a/tests/py/test_pages.py b/tests/py/test_pages.py index 78d2652bb..3ddc764e9 100644 --- a/tests/py/test_pages.py +++ b/tests/py/test_pages.py @@ -203,15 +203,19 @@ def test_payment_instruments_page(self): r = self.client.GET('/alice/routes/', auth_as=alice) assert r.code == 200, r.text assert "You have 1 connected payment instrument." in r.text, r.text - sepa_direct_debit_token = stripe.Token.create(bank_account=dict( - country='BE', - currency='EUR', - account_number='BE62510007547061', - account_holder_name='Dupond et Dupont', - )) + sepa_debit_pm = stripe.PaymentMethod.create( + type='sepa_debit', + billing_details=dict( + email='dupond.dupont@example.com', + name='Dupond et Dupont', + ), + sepa_debit=dict( + iban='BE62510007547061', + ), + ) r = self.client.POST( '/alice/routes/add?type=stripe-sdd', - {'token': sepa_direct_debit_token.id}, + {'stripe_pm_id': sepa_debit_pm.id}, auth_as=alice, raise_immediately=False, ) assert r.code == 302, r.text diff --git a/tests/py/test_payins.py b/tests/py/test_payins.py index 45f18d2fc..5d37da775 100644 --- a/tests/py/test_payins.py +++ b/tests/py/test_payins.py @@ -649,15 +649,15 @@ def test_payin_pages_when_currencies_dont_match(self): self.creator_1.id, self.creator_3.id ) r = self.client.GET('/donor/giving/pay/', auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert str(Markup.escape(paypal_path)) not in r.text assert str(Markup.escape(stripe_path)) not in r.text r = self.client.GxT(paypal_path, auth_as=self.donor) - assert r.code == 400, r.text + assert r.code == 400, str(r) r = self.client.GxT(stripe_path, auth_as=self.donor) - assert r.code == 400, r.text + assert r.code == 400, str(r) class TestPayinsPayPal(Harness): @@ -681,7 +681,7 @@ def test_payin_paypal(self): '/donor/giving/pay/paypal?beneficiary=%i' % self.creator_2.id, auth_as=self.donor ) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 2nd request: initiate the payment form_data = { @@ -690,7 +690,7 @@ def test_payin_paypal(self): 'tips': str(tip['id']) } r = self.client.PxST('/donor/giving/pay/paypal', form_data, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/paypal/1' payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -704,7 +704,7 @@ def test_payin_paypal(self): '/donor/giving/pay/paypal/1', HTTP_ACCEPT_LANGUAGE=b'es-419', auth_as=self.donor, ) - assert r.code == 302, r.text + assert r.code == 302, str(r) assert r.headers[b'Location'].startswith(b'https://www.sandbox.paypal.com/') payin = self.db.one("SELECT * FROM payins") assert payin.status == 'awaiting_payer_action' @@ -712,7 +712,7 @@ def test_payin_paypal(self): # 4th request: execute the payment qs = '?token=91V21788MR556192E&PayerID=6C9EQBCEQY4MA' r = self.client.GET('/donor/giving/pay/paypal/1' + qs, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'succeeded' assert payin.error is None @@ -735,7 +735,7 @@ def test_payin_paypal_invalid_email(self): '/donor/giving/pay/paypal?beneficiary=%i' % self.creator_2.id, auth_as=self.donor ) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 2nd request: payin creation form_data = { @@ -747,7 +747,7 @@ def test_payin_paypal_invalid_email(self): '/donor/giving/pay/paypal', form_data, auth_as=self.donor, HTTP_CF_IPCOUNTRY='FR' ) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/paypal/1' payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -759,7 +759,7 @@ def test_payin_paypal_invalid_email(self): # 3rd request: payment creation fails r = self.client.GET('/donor/giving/pay/paypal/1', auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'failed' assert payin.error @@ -777,7 +777,7 @@ def test_payin_paypal_with_failing_origin_country_check(self): 'tips': str(tip['id']) } r = self.client.PxST('/donor/giving/pay/paypal', form_data, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/paypal/1' payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -791,7 +791,7 @@ def test_payin_paypal_with_failing_origin_country_check(self): '/donor/giving/pay/paypal/1', HTTP_ACCEPT_LANGUAGE=b'en-US', auth_as=self.donor, ) - assert r.code == 302, r.text + assert r.code == 302, str(r) assert r.headers[b'Location'].startswith(b'https://www.sandbox.paypal.com/') payin = self.db.one("SELECT * FROM payins") assert payin.status == 'awaiting_payer_action' @@ -799,7 +799,7 @@ def test_payin_paypal_with_failing_origin_country_check(self): # 3rd request: execute the payment qs = '?token=FFFFFFFFFFFFFFFFF&PayerID=6C9EQBCEQY4MA' r = self.client.GET('/donor/giving/pay/paypal/1' + qs, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'failed' assert payin.error.startswith("creator_2 does not accept donations from Finland. ") @@ -816,7 +816,7 @@ def test_payin_paypal_with_passing_origin_country_check(self): 'tips': str(tip['id']) } r = self.client.PxST('/donor/giving/pay/paypal', form_data, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/paypal/1' payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -830,7 +830,7 @@ def test_payin_paypal_with_passing_origin_country_check(self): '/donor/giving/pay/paypal/1', HTTP_ACCEPT_LANGUAGE=b'en-US', auth_as=self.donor, ) - assert r.code == 302, r.text + assert r.code == 302, str(r) assert r.headers[b'Location'].startswith(b'https://www.sandbox.paypal.com/') payin = self.db.one("SELECT * FROM payins") assert payin.status == 'awaiting_payer_action' @@ -838,7 +838,7 @@ def test_payin_paypal_with_passing_origin_country_check(self): # 3rd request: execute the payment qs = '?token=8UK19239YC952053V&PayerID=6C9EQBCEQY4MA' r = self.client.GET('/donor/giving/pay/paypal/1' + qs, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'succeeded' assert payin.error is None @@ -849,14 +849,8 @@ class TestPayinsStripe(Harness): @classmethod def setUpClass(cls): super().setUpClass() - cls.offset = 2200 + cls.offset = 2100 # https://stripe.com/docs/connect/testing - cls.sepa_direct_debit_token = stripe.Token.create(bank_account=dict( - country='DE', - currency='EUR', - account_number='DE89370400440532013000', - account_holder_name='Jane Doe', - ), idempotency_key=f'create_german_bank_account_token_{cls.offset}') ba_ch_token = stripe.Token.create(bank_account=dict( country='CH', currency='CHF', @@ -943,7 +937,7 @@ def test_00_payin_stripe_card(self): '/donor/giving/pay/stripe?method=card&beneficiary=%i' % self.creator_1.id, auth_as=self.donor ) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 2nd request: prepare the payment form_data = { @@ -951,10 +945,10 @@ def test_00_payin_stripe_card(self): 'currency': 'EUR', 'keep': 'true', 'tips': str(tip['id']), - 'token': 'tok_visa', + 'stripe_pm_id': 'pm_card_visa', } r = self.client.PxST('/donor/giving/pay/stripe', form_data, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/stripe/%i' % self.offset payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -965,14 +959,14 @@ def test_00_payin_stripe_card(self): # 3rd request: execute the payment r = self.client.GET('/donor/giving/pay/stripe/%i' % self.offset, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'succeeded', payin.error assert payin.amount_settled == EUR('24.99') - assert payin.fee == EUR('0.97') + assert payin.fee == EUR('1.06') pt = self.db.one("SELECT * FROM payin_transfers") assert pt.status == 'succeeded' - assert pt.amount == EUR('24.02') + assert pt.amount == EUR('23.93') def test_02_payin_stripe_card_one_to_many(self): self.db.run("ALTER SEQUENCE payins_id_seq RESTART WITH %s", (self.offset,)) @@ -988,20 +982,20 @@ def test_02_payin_stripe_card_one_to_many(self): self.creator_1.id, self.creator_3.id ) r = self.client.GET('/donor/giving/pay/', auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert str(Markup.escape(expected_uri)) in r.text r = self.client.GET(expected_uri, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 2nd request: prepare the payment form_data = { 'amount': '10000', 'currency': 'JPY', 'tips': '%i,%i' % (tip1['id'], tip3['id']), - 'token': 'tok_jp', + 'stripe_pm_id': 'pm_card_jp', } r = self.client.PxST('/donor/giving/pay/stripe', form_data, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/stripe/%i' % self.offset payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -1016,7 +1010,7 @@ def test_02_payin_stripe_card_one_to_many(self): # 3rd request: execute the payment r = self.client.GET('/donor/giving/pay/stripe/%i' % self.offset, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'succeeded', payin.error assert payin.amount_settled.currency == 'JPY' @@ -1042,17 +1036,32 @@ def test_01_payin_stripe_sdd(self): '/donor/giving/pay/stripe?method=sdd&beneficiary=%i' % self.creator_1.id, auth_as=self.donor ) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 2nd request: prepare the payment + sepa_debit_pm = stripe.PaymentMethod.create( + type='sepa_debit', + billing_details=dict( + email='jane.doe@example.com', + name='Jane Doe', + ), + sepa_debit=dict( + iban='DE89370400440532013000', + ), + idempotency_key=f'create_german_sdd_pm_{self.offset}' + ) form_data = { 'amount': '52.00', 'currency': 'EUR', 'tips': str(tip['id']), - 'token': self.sepa_direct_debit_token.id, + 'stripe_pm_id': sepa_debit_pm.id, } - r = self.client.PxST('/donor/giving/pay/stripe', form_data, auth_as=self.donor) - assert r.code == 200, r.text + r = self.client.PxST( + f'/donor/giving/pay/stripe?method=sdd&beneficiary={self.creator_1.id}', + form_data, + auth_as=self.donor, + ) + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/stripe/%i' % self.offset payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -1063,7 +1072,7 @@ def test_01_payin_stripe_sdd(self): # 3rd request: execute the payment r = self.client.GET('/donor/giving/pay/stripe/%i' % self.offset, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pending', payin.error assert payin.amount_settled is None @@ -1077,7 +1086,7 @@ def test_01_payin_stripe_sdd(self): '/donor/giving/pay/stripe?method=sdd&beneficiary=%i' % self.creator_1.id, auth_as=self.donor ) - assert r.code == 200, r.text + assert r.code == 200, str(r) def test_03_payin_stripe_sdd_one_to_many(self): self.db.run("ALTER SEQUENCE payins_id_seq RESTART WITH %s", (self.offset,)) @@ -1093,27 +1102,37 @@ def test_03_payin_stripe_sdd_one_to_many(self): self.creator_1.id, self.creator_3.id ) r = self.client.GET('/donor/giving/pay/', auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert str(Markup.escape(expected_uri)) in r.text r = self.client.GET(expected_uri, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 2nd request: prepare the payment - sepa_direct_debit_token = stripe.Token.create(bank_account=dict( - country='FR', - currency='EUR', - account_number='FR1420041010050500013M02606', - account_holder_name='Jane Doe', - )) + sepa_debit_pm = stripe.PaymentMethod.create( + type='sepa_debit', + billing_details=dict( + email='jane.doe@example.com', + name='Jane Doe', + ), + sepa_debit=dict( + iban='FR1420041010050500013M02606', + ), + idempotency_key=f'create_french_sdd_pm_{self.offset}' + ) form_data = { 'amount': '100.00', 'currency': 'EUR', 'keep': 'true', 'tips': '%i,%i' % (tip1['id'], tip3['id']), - 'token': sepa_direct_debit_token.id, + 'stripe_pm_id': sepa_debit_pm.id, } - r = self.client.PxST('/donor/giving/pay/stripe', form_data, auth_as=self.donor) - assert r.code == 200, r.text + beneficiaries = f"{self.creator_1.id},{self.creator_3.id}" + r = self.client.PxST( + f'/donor/giving/pay/stripe?method=sdd&beneficiary={beneficiaries}', + form_data, + auth_as=self.donor, + ) + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/stripe/%i' % self.offset payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -1128,7 +1147,7 @@ def test_03_payin_stripe_sdd_one_to_many(self): # 3rd request: execute the payment r = self.client.GET('/donor/giving/pay/stripe/%i' % self.offset, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pending' assert payin.amount_settled is None @@ -1145,7 +1164,7 @@ def test_03_payin_stripe_sdd_one_to_many(self): # 4th request: test getting the payment page again r = self.client.GET(expected_uri, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 5th request: test getting another payment page now that the donor has connected a bank account self.add_payment_account(self.creator_2, 'stripe') @@ -1154,12 +1173,12 @@ def test_03_payin_stripe_sdd_one_to_many(self): '/donor/giving/pay/stripe?method=sdd&beneficiary=%i' % self.creator_2.id, auth_as=self.donor ) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert "Use another bank account" in r.text # 6th request: test getting the receipt before the payment settles r = self.client.GxT('/donor/receipts/direct/%i' % payin.id, auth_as=self.donor) - assert r.code == 404, r.text + assert r.code == 404, str(r) # Settle charge = stripe.Charge.retrieve(payin.remote_id) @@ -1185,7 +1204,7 @@ def test_03_payin_stripe_sdd_one_to_many(self): # 7th request: test getting the receipt after the payment is settled r = self.client.GET('/donor/receipts/direct/%i' % payin.id, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert "2606" in r.text def test_04_payin_intent_stripe_card(self): @@ -1199,7 +1218,7 @@ def test_04_payin_intent_stripe_card(self): '/donor/giving/pay/stripe?method=card&beneficiary=%i' % self.creator_1.id, auth_as=self.donor ) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 2nd request: prepare the payment form_data = { @@ -1210,7 +1229,7 @@ def test_04_payin_intent_stripe_card(self): 'stripe_pm_id': 'pm_card_visa', } r = self.client.PxST('/donor/giving/pay/stripe', form_data, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/stripe/%i' % self.offset payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -1221,21 +1240,21 @@ def test_04_payin_intent_stripe_card(self): # 3rd request: execute the payment r = self.client.GET('/donor/giving/pay/stripe/%i' % self.offset, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'succeeded', payin assert payin.amount_settled == EUR('25.00') - assert payin.fee == EUR('0.98') + assert payin.fee == EUR('1.06') pt = self.db.one("SELECT * FROM payin_transfers") assert pt.status == 'succeeded' - assert pt.amount == EUR('24.02') + assert pt.amount == EUR('23.94') # 4th request: test getting the payment page again r = self.client.GET( '/donor/giving/pay/stripe?method=card&beneficiary=%i' % self.creator_1.id, auth_as=self.donor ) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 5th request: test getting another payment page now that the donor has connected a card self.add_payment_account(self.creator_2, 'stripe') @@ -1244,7 +1263,7 @@ def test_04_payin_intent_stripe_card(self): '/donor/giving/pay/stripe?method=card&beneficiary=%i' % self.creator_2.id, auth_as=self.donor ) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert "We will charge your Visa card " in r.text def test_05_payin_intent_stripe_card_one_to_many(self): @@ -1262,10 +1281,10 @@ def test_05_payin_intent_stripe_card_one_to_many(self): self.creator_1.id, self.creator_3.id ) r = self.client.GET('/donor/giving/pay/', auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert str(Markup.escape(expected_uri)) in r.text r = self.client.GET(expected_uri, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 2nd request: prepare the payment form_data = { @@ -1275,7 +1294,7 @@ def test_05_payin_intent_stripe_card_one_to_many(self): 'stripe_pm_id': 'pm_card_jp', } r = self.client.PxST('/donor/giving/pay/stripe', form_data, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/stripe/%i' % self.offset payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -1290,23 +1309,23 @@ def test_05_payin_intent_stripe_card_one_to_many(self): # 3rd request: execute the payment r = self.client.GET('/donor/giving/pay/stripe/%i' % self.offset, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'succeeded' assert payin.amount_settled == EUR('100.00') - assert payin.fee == EUR('3.15') + assert payin.fee == EUR('3.50') payin_transfers = self.db.all("SELECT * FROM payin_transfers ORDER BY id") assert len(payin_transfers) == 2 pt1, pt2 = payin_transfers assert pt1.status == 'succeeded' - assert pt1.amount == EUR('48.43') + assert pt1.amount == EUR('48.25') assert pt1.remote_id assert pt2.status == 'succeeded' - assert pt2.amount == EUR('48.42') + assert pt2.amount == EUR('48.25') # 4th request: test getting the payment page again r = self.client.GET(expected_uri, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) def test_06_payin_stripe_sdd_to_team(self): self.db.run("ALTER SEQUENCE payins_id_seq RESTART WITH %s", (self.offset,)) @@ -1323,27 +1342,36 @@ def test_06_payin_stripe_sdd_to_team(self): # 1st request: test getting the payment pages expected_uri = '/donor/giving/pay/stripe/?beneficiary=%i&method=sdd' % team.id r = self.client.GET('/donor/giving/pay/', auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert str(Markup.escape(expected_uri)) in r.text r = self.client.GET(expected_uri, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 2nd request: prepare the payment - sepa_direct_debit_token = stripe.Token.create(bank_account=dict( - country='FR', - currency='EUR', - account_number='FR1420041010050500013M02606', - account_holder_name='Jane Doe', - )) + sepa_debit_pm = stripe.PaymentMethod.create( + type='sepa_debit', + billing_details=dict( + email='jane.doe@example.com', + name='Jane Doe', + ), + sepa_debit=dict( + iban='HR7624020064583467589', + ), + idempotency_key=f'create_croatian_sdd_pm_{self.offset}' + ) form_data = { 'amount': '100.00', 'currency': 'EUR', 'keep': 'true', 'tips': str(tip['id']), - 'token': sepa_direct_debit_token.id, + 'stripe_pm_id': sepa_debit_pm.id, } - r = self.client.PxST('/donor/giving/pay/stripe', form_data, auth_as=self.donor) - assert r.code == 200, r.text + r = self.client.PxST( + f'/donor/giving/pay/stripe?method=sdd&beneficiary={team.id}', + form_data, + auth_as=self.donor, + ) + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/stripe/%i' % self.offset payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -1357,7 +1385,7 @@ def test_06_payin_stripe_sdd_to_team(self): # 3rd request: execute the payment r = self.client.GET('/donor/giving/pay/stripe/%i' % self.offset, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pending' assert payin.amount_settled is None @@ -1372,11 +1400,11 @@ def test_06_payin_stripe_sdd_to_team(self): # 4th request: test getting the payment page again r = self.client.GET(expected_uri, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 5th request: test getting the receipt before the payment settles r = self.client.GxT('/donor/receipts/direct/%i' % payin.id, auth_as=self.donor) - assert r.code == 404, r.text + assert r.code == 404, str(r) # Settle charge = stripe.Charge.retrieve(payin.remote_id) @@ -1398,8 +1426,8 @@ def test_06_payin_stripe_sdd_to_team(self): # 6th request: test getting the receipt after the payment is settled r = self.client.GET('/donor/receipts/direct/%i' % payin.id, auth_as=self.donor) - assert r.code == 200, r.text - assert "2606" in r.text + assert r.code == 200, str(r) + assert "7589" in r.text def test_07_partially_undeliverable_payment(self): self.db.run("ALTER SEQUENCE payins_id_seq RESTART WITH %s", (self.offset,)) @@ -1414,10 +1442,10 @@ def test_07_partially_undeliverable_payment(self): self.creator_1.id, self.creator_2.id ) r = self.client.GET('/donor/giving/pay/', auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert str(Markup.escape(expected_uri)) in r.text r = self.client.GET(expected_uri, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 2nd request: prepare the payment form_data = { @@ -1427,7 +1455,7 @@ def test_07_partially_undeliverable_payment(self): 'stripe_pm_id': 'pm_card_jp', } r = self.client.PxST('/donor/giving/pay/stripe', form_data, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/stripe/%i' % self.offset payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -1442,21 +1470,21 @@ def test_07_partially_undeliverable_payment(self): # 3rd request: execute the payment r = self.client.GET('/donor/giving/pay/stripe/%i' % self.offset, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) + payin = self.db.one("SELECT * FROM payins") + assert payin.status == 'succeeded' + assert payin.amount_settled == EUR('100.00') + assert payin.fee == EUR('3.50') + assert payin.refunded_amount == EUR('50.00') payin_transfers = self.db.all("SELECT * FROM payin_transfers ORDER BY id") assert len(payin_transfers) == 2 pt1, pt2 = payin_transfers assert pt1.status == 'succeeded' - assert pt1.amount == EUR('48.43') + assert pt1.amount == EUR('48.25') assert pt1.remote_id assert pt2.status == 'failed' - assert pt2.amount == EUR('48.42') + assert pt2.amount == EUR('48.25') assert pt2.error == "The recipient's account no longer exists." - payin = self.db.one("SELECT * FROM payins") - assert payin.status == 'succeeded' - assert payin.amount_settled == EUR('100.00') - assert payin.fee == EUR('3.15') - assert payin.refunded_amount == EUR('50.00') creator_2_stripe_account = self.db.one(""" SELECT * FROM payment_accounts @@ -1469,7 +1497,7 @@ def test_07_partially_undeliverable_payment(self): # 4th request: test getting the payment page again r = self.client.GET(expected_uri, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) @patch('stripe.BalanceTransaction.retrieve') @patch('stripe.PaymentIntent.create') @@ -1672,23 +1700,32 @@ def test_09_payin_stripe_sdd_fraud_review(self): '/donor/giving/pay/stripe?method=sdd&beneficiary=%i' % self.creator_4.id, auth_as=self.donor ) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 2nd request: prepare the payment - sepa_direct_debit_token = stripe.Token.create(bank_account=dict( - country='FR', - currency='EUR', - account_number='FR1420041010050500013M02606', - account_holder_name='Jane Doe', - )) + sepa_debit_pm = stripe.PaymentMethod.create( + type='sepa_debit', + billing_details=dict( + email='jane.doe@example.com', + name='Jane Doe', + ), + sepa_debit=dict( + iban='FI2112345600000785', + ), + idempotency_key=f'create_finnish_sdd_pm_{self.offset}' + ) form_data = { 'amount': '52.00', 'currency': 'EUR', 'tips': str(tip['id']), - 'token': sepa_direct_debit_token.id, + 'stripe_pm_id': sepa_debit_pm.id, } - r = self.client.PxST('/donor/giving/pay/stripe', form_data, auth_as=self.donor) - assert r.code == 200, r.text + r = self.client.PxST( + f'/donor/giving/pay/stripe?method=sdd&beneficiary={self.creator_4.id}', + form_data, + auth_as=self.donor, + ) + assert r.code == 200, str(r) assert r.headers[b'Refresh'] == b'0;url=/donor/giving/pay/stripe/%i' % self.offset payin = self.db.one("SELECT * FROM payins") assert payin.status == 'pre' @@ -1701,7 +1738,7 @@ def test_09_payin_stripe_sdd_fraud_review(self): # 4th request: check that refreshing the page doesn't change anything for i in range(2): r = self.client.GET('/donor/giving/pay/stripe/%i' % self.offset, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'awaiting_review', payin.error assert payin.error is None @@ -1711,7 +1748,7 @@ def test_09_payin_stripe_sdd_fraud_review(self): pt = self.db.one("SELECT * FROM payin_transfers") assert pt.status == 'awaiting_review' assert pt.amount == EUR('52.00') - assert "It will be submitted to your bank at a later time" in r.text, r.text + assert "It will be submitted to your bank at a later time" in r.text, str(r) # Mark the recipient as fraud. with self.db.get_cursor() as c: @@ -1731,7 +1768,7 @@ def test_09_payin_stripe_sdd_fraud_review(self): # 6th request: check that refreshing the page doesn't change anything for i in range(2): r = self.client.GET('/donor/giving/pay/stripe/%i' % self.offset, auth_as=self.donor) - assert r.code == 200, r.text + assert r.code == 200, str(r) payin = self.db.one("SELECT * FROM payins") assert payin.status == 'failed', payin.error assert payin.error == "canceled" @@ -1754,7 +1791,7 @@ def test_10_payin_stripe_failing_origin_country_check(self): '/donor/giving/pay/stripe?method=card&beneficiary=%i' % self.creator_1.id, auth_as=self.donor ) - assert r.code == 200, r.text + assert r.code == 200, str(r) # 2nd request: try to prepare the payment form_data = { @@ -1762,7 +1799,7 @@ def test_10_payin_stripe_failing_origin_country_check(self): 'currency': 'EUR', 'keep': 'true', 'tips': str(tip['id']), - 'token': 'tok_cn', + 'stripe_pm_id': 'pm_card_cn', } r = self.client.PxST('/donor/giving/pay/stripe', form_data, auth_as=self.donor) assert isinstance(r, ProhibitedSourceCountry) diff --git a/tests/py/test_sessions.py b/tests/py/test_sessions.py index 6b892f043..6c00b390f 100644 --- a/tests/py/test_sessions.py +++ b/tests/py/test_sessions.py @@ -743,6 +743,20 @@ def test_session_is_downgraded_to_read_only_after_a_little_while(self): assert new_session_secret != initial_session.secret assert new_session_secret.endswith('.ro') + def test_read_only_session_eventually_expires(self): + alice = self.make_participant('alice') + alice.session = alice.start_session(suffix='.ro') + self.db.run("UPDATE user_secrets SET mtime = mtime - interval '40 days'") + r = self.client.GET('/alice/edit/username', auth_as=alice, raise_immediately=False) + assert r.code == 403, r.text + assert r.headers.cookie[SESSION].value == f'{alice.id}:!:' + r = self.client.GET( + '/alice/edit/username', + HTTP_COOKIE=f"session={alice.id}:!:", + raise_immediately=False, + ) + assert r.code == 403, r.text + def test_long_lived_session_tokens_are_regularly_regenerated(self): alice = self.make_participant('alice') alice.authenticated = True @@ -882,3 +896,30 @@ def test_constant_sessions(self): AND id >= 800 """, (alice.id,)) assert not constant_session + + def test_invalid_session_cookies(self): + r = self.client.GET('/about/me/', HTTP_COOKIE='session=::', raise_immediately=False) + assert r.code == 403, r.text + r = self.client.GET('/about/me/', HTTP_COOKIE='session=_:_:_', raise_immediately=False) + assert r.code == 403, r.text + r = self.client.GET('/about/me/', HTTP_COOKIE='session=0:0:0', raise_immediately=False) + assert r.code == 403, r.text + r = self.client.GET('/about/me/', HTTP_COOKIE='session=1:1:1', raise_immediately=False) + assert r.code == 403, r.text + alice = self.make_participant('alice') + r = self.client.GET('/about/me/', HTTP_COOKIE=f'session={alice.id}::', raise_immediately=False) + assert r.code == 403, r.text + r = self.client.GET('/about/me/', HTTP_COOKIE=f'session={alice.id}:0:', raise_immediately=False) + assert r.code == 403, r.text + r = self.client.GET('/about/me/', HTTP_COOKIE=f'session={alice.id}:1:', raise_immediately=False) + assert r.code == 403, r.text + r = self.client.GET('/about/me/', HTTP_COOKIE=f'session={alice.id}:1:_', raise_immediately=False) + assert r.code == 403, r.text + session = alice.start_session(suffix='.pw') + incorrect_secret = str(ord(session.secret[0]) ^ 1) + session.secret[1:] + r = self.client.GET( + '/about/me/', + HTTP_COOKIE=f'session={alice.id}:{session.id}:{incorrect_secret}', + raise_immediately=False, + ) + assert r.code == 403, r.text diff --git a/www/%username/edit/elsewhere.spt b/www/%username/edit/elsewhere.spt index 16df5173e..7e41fc904 100644 --- a/www/%username/edit/elsewhere.spt +++ b/www/%username/edit/elsewhere.spt @@ -35,18 +35,9 @@ subhead = _("Linked Accounts")