Skip to content

[ONB-4377] [Compose] [Compose] Add crossborder resources and checkout session confirm - #54

Merged
fin-compose[bot] merged 3 commits into
mainfrom
compose/crossborder-checkout-confirm-1587
Nov 13, 2026
Merged

fin-compose[bot] merged 3 commits into
mainfrom
compose/crossborder-checkout-confirm-1587

Conversation

@FranciscaOtero

Copy link
Copy Markdown
Contributor

Contexto

The public API (fintoc-rails 9a39d9d8..e2b82be8) added crossborder endpoints and a checkout session confirm action that the SDK didn't expose yet. This PR adds them so SDK users can call them without raw HTTP.

¿Qué hay de nuevo?

  • client.v2.crossborder.beneficiaries: create, list, get, delete (archives) — fintoc-com/fintoc-rails#20605
  • client.v2.crossborder.quotes: create, get, with fees including fintoc_fee — fintoc-com/fintoc-rails#20605, fintoc-com/fintoc-rails#20906
  • client.v2.crossborder.transfers: create, list (status: is sent as status[]), get; beneficiary is built as CrossborderBeneficiary
  • client.v2.checkout_sessions.confirm(id) for ui_mode: 'fields' sessions; 200 and 202 both return the session — fintoc-com/fintoc-rails#20935
  • New error classes for the new codes: BeneficiaryAlreadyExists, QuoteExpired, QuoteAlreadyAccepted, SettlementNotConfigured, ProviderRejected, ProviderUnavailable, ProviderOutcomeUnknown, CardDeclined, CardConfirmationExpired, ChargeInProgress, CheckoutSessionNotInProgress, NoCardSubmitted, and AccountCertificateUnavailable (missing from the certificates release, fintoc-com/fintoc-rails#20588)
  • README examples for crossborder and confirm

Tests

  • Unit tests with WebMock and synthetic fixtures built from the spec examples (no cassettes added)
  • Error code resolution tests

Release notes

  • Added client.v2.crossborder with beneficiaries (create, list, get, delete), quotes (create, get) and transfers (create, list, get), returning CrossborderBeneficiary, CrossborderQuote and CrossborderTransfer.
  • Added client.v2.checkout_sessions.confirm to charge the card of a checkout session with ui_mode: 'fields'.
  • Added error classes BeneficiaryAlreadyExistsError, QuoteExpiredError, QuoteAlreadyAcceptedError, SettlementNotConfiguredError, ProviderRejectedError, ProviderUnavailableError, ProviderOutcomeUnknownError, CardDeclinedError, CardConfirmationExpiredError, ChargeInProgressError, CheckoutSessionNotInProgressError, NoCardSubmittedError and AccountCertificateUnavailableError.

Safety Checks

  • Versión y CHANGELOG actualizados (si corresponde)

Consideraciones

Left out, already aligned (the SDK forwards params and keeps nested hashes as-is, and the error classes exist):

  • Account certificates (already released, fintoc-com/fintoc-rails#20588)
  • split_applied[] redirected/redirected_to_entity_id/redirection_reason (fintoc-com/fintoc-rails#20380), split[].inherited (fintoc-com/fintoc-rails#20601), invoice.split_redirected event type (fintoc-com/fintoc-rails#20443), split no longer test-only (fintoc-com/fintoc-rails#20378)
  • payment_method_options.card.bins (fintoc-com/fintoc-rails#20751) and ui_mode: fields / session_token (fintoc-com/fintoc-rails#20837, fintoc-com/fintoc-rails#21037)
  • Onboarding plaft.cmf_regulated, cmf_registration_number and cmf_application_proof slot (fintoc-com/fintoc-rails#20814): RequiredDocumentMissingError already exists
  • Webhook endpoints invalid_url (fintoc-com/fintoc-rails#20998) and limit_exceeded (fintoc-com/fintoc-rails#20758), and test retries docs (fintoc-com/fintoc-rails#20836, fintoc-com/fintoc-rails#20874): InvalidUrlError and LimitExceededError already exist
  • payment_method_inactive (fintoc-com/fintoc-rails#20978): PaymentMethodInactiveError already exists

Rollback

Revert the PR. It only adds public surface.

🤖🐙 Created with Compose · View session

…sses

Co-authored-by: fin-compose[bot] <255610621+fin-compose[bot]@users.noreply.github.com>
@FranciscaOtero FranciscaOtero added the agent:compose PR created by Compose AI agent label Nov 13, 2026
@FranciscaOtero FranciscaOtero self-assigned this Nov 13, 2026
@fin-hermes fin-hermes Bot added the size/XL label Nov 13, 2026
@FranciscaOtero FranciscaOtero added the release:minor Publica una versión minor al mergear label Nov 13, 2026
@FranciscaOtero

Copy link
Copy Markdown
Contributor Author

fin review

@fin-hermes fin-hermes Bot added the risk:low label Nov 13, 2026

@fin-review fin-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM ✅

Co-authored-by: fin-compose[bot] <255610621+fin-compose[bot]@users.noreply.github.com>
@FranciscaOtero

Copy link
Copy Markdown
Contributor Author

fin review

Co-authored-by: fin-compose[bot] <255610621+fin-compose[bot]@users.noreply.github.com>
@FranciscaOtero

Copy link
Copy Markdown
Contributor Author

fin review

@fin-review fin-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM ✅

@FranciscaOtero
FranciscaOtero marked this pull request as ready for review November 13, 2026 12:37

@fin-review fin-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM ✅

@fin-compose
fin-compose Bot merged commit 71e33fe into main Nov 13, 2026
9 checks passed
@fin-compose
fin-compose Bot deleted the compose/crossborder-checkout-confirm-1587 branch November 13, 2026 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent:compose PR created by Compose AI agent release:minor Publica una versión minor al mergear risk:low size/XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant