Skip to content

FAS-PFM-INT-03Gateway calls and settlement acceptance

Markdown

FAS-PFM-INT-03

Gateway calls and settlement acceptance

Markdown
  • DocumentProposed
  • Product intentProposed

Product areaPlatformModuleIntegration access, customer extensions and shared workflow configurationRevision2

Read atservices-platform ad3f6a65macroservice-libraries 54536a44react-console baf6dae3

Scenarios

5 scenarios proving FEAT-PFM-INT-03 as a whole.

01 Select an account and trace the resulting operation behaviour proposed
Exercises
CAP-PFM-INT-007 CAP-PFM-INT-008 CAP-PFM-INT-009 CAP-PFM-INT-011 CAP-PFM-INT-012
Relies on
ATS-PFM-INT-007-01 ATS-PFM-INT-008-01 ATS-PFM-INT-009-04 ATS-PFM-INT-011-01 ATS-PFM-INT-012-04
Preconditions
A verified test account supports the requested capability.
Steps
Create a scoped binding, Explain it, invoke, inspect execution detail and make a direct Library test.
Expected
Scoped work uses the configured choice and both call paths retain inspectable execution evidence.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/integrations/tests/integration/services/persistence/integration-bindings.integration.spec.js#leaves one active binding at the scope,services-platform:modules/integrations/tests/unit/services/binding-resolution.spec.ts#asks every scope the policy allows and the context names, most specific first,services-platform:modules/integrations/tests/integration/services/executions/invoke-capability.integration.spec.js#records the execution succeeded, with its digest, summaries, reference and one attempt,services-platform:modules/integrations/tests/e2e-adapters/gateway-dummy.adapters.spec.js#lets the tenant read the execution, its attempts and its stored response,services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#records an execution of that connection by the calling application library_try on behalf of the person, with no binding
02 Admission and uncertainty preserve the original processor interaction proposed
Exercises
CAP-PFM-INT-008 CAP-PFM-INT-009 CAP-PFM-INT-010 CAP-PFM-INT-011
Relies on
ATS-PFM-INT-008-07 ATS-PFM-INT-009-07 ATS-PFM-INT-010-01 ATS-PFM-INT-011-05
Preconditions
A money operation has a selected processor and another eligible processor exists.
Steps
Invoke with the selected circuit open, then invoke after reset with a post-send timeout and investigate it.
Expected
Admission does not switch processors; the uncertain operation is looked up and can be resolved without a second send.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/integrations/tests/unit/services/binding-resolution.spec.ts#resolves a payment whose processor’s circuit is open rather than refusing it binding_ineligible,services-platform:modules/integrations/tests/integration/services/executions/invoke-capability.integration.spec.js#refuses with 503 provider_unavailable while the circuit is open, and releases the key,services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#looks the execution up on the same connection with the contracts’ lookup shape, never repeating the authorize,services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#lets an operator resolve a needs_attention execution by hand, audited, with no call to the provider
03 An overdue asynchronous operation reaches a final finding lifecycle proposed
Exercises
CAP-PFM-INT-009 CAP-PFM-INT-010 CAP-PFM-INT-011
Relies on
ATS-PFM-INT-009-09 ATS-PFM-INT-010-04 ATS-PFM-INT-011-05
Preconditions
An asynchronous operation remains unanswered beyond its budget.
Steps
Run timeout and lookup passes until attention is required, then record a noted finding.
Expected
The same execution reaches one recorded outcome and one applicable completion.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/integrations/tests/integration/services/executions/invoke-capability.integration.spec.js#answers 202 accepted and queues the first attempt with the execution, calling no adapter,services-platform:modules/integrations/tests/unit/services/execution-timeouts.spec.ts#is 24 hours for an async-only capability whose manifest declares none,services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#lets an operator resolve a needs_attention execution by hand, audited, with no call to the provider
04 Inspection does not grant provider or operator effects permissionnegative proposed
Exercises
CAP-PFM-INT-007 CAP-PFM-INT-008 CAP-PFM-INT-009 CAP-PFM-INT-011 CAP-PFM-INT-012
Relies on
ATS-PFM-INT-007-10 ATS-PFM-INT-008-09 ATS-PFM-INT-009-02 ATS-PFM-INT-011-02 ATS-PFM-INT-012-02
Preconditions
A reader, integration manager, authorized application and execution operator are available.
Steps
Read bindings and Explain as a reader, attempt invocation and resolution without their authority, then use the authorized roles.
Expected
Unauthorized effects leave records unchanged and each authorized role acts only through its own permission boundary.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#is refused a reader of integrations (403),services-platform:modules/integrations/tests/e2e/integration-bindings.e2e.spec.js#may explain,services-platform:modules/integrations/tests/unit/services/gateway-refusals.spec.ts#refuses a service principal naming another application, access_denied,services-platform:modules/integrations/tests/e2e/reader-access.e2e.spec.js#is refused every route that changes something (403),services-platform:modules/integrations/tests/e2e/connection-try.e2e.spec.js#is refused 403 and no execution or audit row is recorded
05 A repeated uncertain request does not resend regressionnegative proposed
Exercises
CAP-PFM-INT-009 CAP-PFM-INT-010
Relies on
ATS-PFM-INT-009-03 ATS-PFM-INT-010-01
Preconditions
An authorization times out after possible provider receipt.
Steps
Send the identical request while reconciliation is pending, then perform its due lookup.
Expected
The repeat identifies the same pending execution and lookup contacts its original account without a second authorization.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/integrations/tests/integration/services/executions/invoke-capability.integration.spec.js#replays a settled execution’s stored answer for the same key and request, without calling the adapter again,services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#looks the execution up on the same connection with the contracts’ lookup shape, never repeating the authorize

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.