Repository navigation
Coach Connect types carry every field the billing reads return - #20
Merged
Merged
Conversation
CoachConnectCharge gains stripe_fee_paid_by and platform_fee_returned_cents; CoachChargeBreakdown gains stripe_fee_paid_by, refunded_cents, platform_fee_returned_cents, disputes_cents and dispute_costs_recovered_cents, and CoachEarningsSummary their totals; CoachConnectSummary gains the fee terms. The fixture generator adds a partly refunded charge, and the fixtures are regenerated at fuel-backend 26ee95de. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Coach API's Connect billing reads return fields this SDK's types did not declare, so a typed caller could not read a partial refund, who paid Stripe's fee, or the dispute and fee totals.
CoachConnectCharge:stripe_fee_paid_by(coachorsaturday) andplatform_fee_returned_cents, both optional (the API leaves them out while empty).CoachChargeBreakdown:stripe_fee_paid_by(optional),refunded_cents,platform_fee_returned_cents,disputes_cents,dispute_costs_recovered_cents.CoachEarningsSummary:total_refunded_cents,total_platform_fee_returned_cents,total_disputes_cents,total_dispute_costs_recovered_cents.CoachConnectSummary:platform_fee_minimum_cents,coach_pays_stripe_fees_from,stripe_fee_domestic_bps,stripe_fee_international_bps,stripe_fee_fixed_cents.Diffed against the Go JSON tags at fuel-backend main 26ee95de; the contract fixtures are regenerated from those structs (saturday-python
tests/fixtures/generate.go, now with a partly refunded charge) and are identical in both SDKs. CHANGELOG under Unreleased. Docs: SaturdayInc/docs#62.Tests: pytest tests/test_contracts.py (95 passed), mypy saturday tests/typecheck --check-untyped-defs --warn-unused-ignores (clean). The contract test fails on the old types and passes with these.
🤖 Generated with Claude Code