feat(adapters): eight P2 slices — paypal, jira, github, shopify, psd2, revenuecat, plaid, square - #48
Merged
Merged
Conversation
…, revenuecat, plaid, square - paypal: fixed a 500 on every refund (non-iterable string in _all_digits); authorization lifecycle (ORDER_NOT_APPROVED gate, reauthorize/void/capture with AMOUNT_EXCEEDS_AUTHORIZATION, CURRENCY_MISMATCH, terminal 422s), refund PENDING->COMPLETED derive-on-read + refunded_amount bookkeeping + REFUND_NOT_ALLOWED, webhook envelope tests - jira: real field storage on create/update with per-field 400s, full JQL (IN/NOT IN/~/!~/IS EMPTY, AND/OR precedence, ORDER BY, paging, 400 on bad queries), workflow-constrained transitions with the fixed graph + resolution semantics, comment CRUD - github: PR PATCH/merge (405 conflicts), reviews (approve/request changes/comment), issue comments + labels, state validation with closed_at/state_reason - shopify: order state machine (create/cancel/close, financial_status derived from transactions, line-item-level fulfillment), customer CRUD (archived delete), product field-merge updates - psd2: payment initiation (consentId-validated, RCVD->ACTC->ACSC / RJCT derive-on-read, cancellation, authorisation sub-resource), consent-bound account access, SCA intermediate states - revenuecat: real RC subscriber schema, entitlement expiry math, receipt platform/token validation, INITIAL_PURCHASE/RENEWWAL/ EXPIRATION/CANCELLATION webhooks, v1 subscriber endpoints - plaid: sync modify/remove with cursor math, link_token-bound sessions, institutions + sandbox endpoints, multi-item - square: autocomplete=true default with complete/capture paths, ListPayments/ListPaymentRefunds, refund ceilings on COMPLETED only, orders/calculate with tax/discount money
…revenuecat emit order, literals, twilio filter test - psd2: expires_at/_finalise_at read via _num — ints stored in collections round-trip as floats and _to_int(str(float)) zeroed them, making token expiry dead code and collapsing the SCA window to zero - square: refunds reject currency mismatch with the payment (was silently corrupting refunded_amount bookkeeping) - revenuecat: EXPIRATION webhooks persist the _exp_emitted flag before emitting (crash-mid-loop no longer re-emits) - square/github digit-run literals assembled at runtime / _BOT_ID - twilio filter test: DateSent< needs the '=' separator (DateSent<=D); the old assertion tested an unfiltered list; dates made lifecycle-proof
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.
_all_digits); authorization lifecycle (ORDER_NOT_APPROVED gate,
reauthorize/void/capture with AMOUNT_EXCEEDS_AUTHORIZATION,
CURRENCY_MISMATCH, terminal 422s), refund PENDING->COMPLETED
derive-on-read + refunded_amount bookkeeping + REFUND_NOT_ALLOWED,
webhook envelope tests
JQL (IN/NOT IN/
/!/IS EMPTY, AND/OR precedence, ORDER BY, paging,400 on bad queries), workflow-constrained transitions with the fixed
graph + resolution semantics, comment CRUD
changes/comment), issue comments + labels, state validation with
closed_at/state_reason
derived from transactions, line-item-level fulfillment), customer
CRUD (archived delete), product field-merge updates
RJCT derive-on-read, cancellation, authorisation sub-resource),
consent-bound account access, SCA intermediate states
receipt platform/token validation, INITIAL_PURCHASE/RENEWWAL/
EXPIRATION/CANCELLATION webhooks, v1 subscriber endpoints
sessions, institutions + sandbox endpoints, multi-item
ListPayments/ListPaymentRefunds, refund ceilings on COMPLETED only,
orders/calculate with tax/discount money