Add SCA_NOT_COMPLETED outgoing transaction failure reason - #760
Add SCA_NOT_COMPLETED outgoing transaction failure reason#760ls-bolt[bot] wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
✱ Stainless preview builds for gridThis PR will update the cli go kotlin openapi php python ruby typescript Edit this comment to update them. They will appear in their respective SDK's changelogs. ✅ grid-typescript studio · code · diff
✅ grid-openapi studio · code · diff
✅ grid-ruby studio · code · diff
✅ grid-go studio · code · diff
✅ grid-kotlin studio · code · diff
✅ grid-python studio · code · diff
✅ grid-php studio · code · diff
✅ grid-cli studio · code · diff
This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push. |
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
## Summary
Adds `SCA_NOT_COMPLETED` to `OutgoingTransactionFailureReason`.
When a customer in an SCA-regulated region (e.g. the EU) is issued a
Strong Customer Authentication challenge for a money movement and never
satisfies it, the challenge expires and the transaction fails. Today
that surfaces with no `failureReason` at all, so integrators can't tell
an abandoned authorization apart from a genuine payment failure — the
two need completely different follow-up.
The new value is scoped narrowly to the case where nothing moved, so the
guidance in the description ("no funds were moved; create a new quote
and have the customer authorize it while the challenge is live") is
always true when a client sees it. Failures where an intermediate leg
already executed and needs operator reconciliation continue to surface
as `QUOTE_EXECUTION_FAILED`, matching how other operational failures are
reported.
## Compatibility
Non-breaking. `oasdiff breaking` against `main` reports **0 errors, 17
warnings** — all the same `response-property-enum-value-added`
informational warning, one per operation that returns an outgoing
transaction. The repo's breaking-changes gate runs with `--fail-on ERR`,
so this passes, and `info.version` is unchanged per the repo convention
of bumping only for breaking changes.
## Test plan
- `make build` — rebundled `openapi.yaml` + `mintlify/openapi.yaml`; the
diff is limited to this enum and its description
- `make lint-openapi` — "Woohoo! Your API description is valid. 🎉", 0
errors (remaining warnings are pre-existing repo-wide
`schema-properties-have-examples` noise, untouched by this change)
- `oasdiff breaking main HEAD --fail-on ERR` — exit 0
Requested by @jklein24
Original PR: #760

Summary
Adds
SCA_NOT_COMPLETEDtoOutgoingTransactionFailureReason.When a customer in an SCA-regulated region (e.g. the EU) is issued a Strong Customer Authentication challenge for a money movement and never satisfies it, the challenge expires and the transaction fails. Today that surfaces with no
failureReasonat all, so integrators can't tell an abandoned authorization apart from a genuine payment failure — the two need completely different follow-up.The new value is scoped narrowly to the case where nothing moved, so the guidance in the description ("no funds were moved; create a new quote and have the customer authorize it while the challenge is live") is always true when a client sees it. Failures where an intermediate leg already executed and needs operator reconciliation continue to surface as
QUOTE_EXECUTION_FAILED, matching how other operational failures are reported.Compatibility
Non-breaking.
oasdiff breakingagainstmainreports 0 errors, 17 warnings — all the sameresponse-property-enum-value-addedinformational warning, one per operation that returns an outgoing transaction. The repo's breaking-changes gate runs with--fail-on ERR, so this passes, andinfo.versionis unchanged per the repo convention of bumping only for breaking changes.Test plan
make build— rebundledopenapi.yaml+mintlify/openapi.yaml; the diff is limited to this enum and its descriptionmake lint-openapi— "Woohoo! Your API description is valid. 🎉", 0 errors (remaining warnings are pre-existing repo-wideschema-properties-have-examplesnoise, untouched by this change)oasdiff breaking main HEAD --fail-on ERR— exit 0Requested by @jklein24