fix(ucs): mirror connector minor_amount_captured on UCS capture path (PayPal)
- Dominant language
- Rust
- Stars
- 43.7k
- Forks
- 5.1k
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 205
Description
Shadow validation flags a router-data type diff on PayPal capture: `router.typeDiff:minor_amount_captured` — native HS leaves `minor_amount_captured = null` (PayPal sets only `amount_captured`), but the UCS-shadow capture gateway re-derives it from gRPC `captured_amount`, producing a number.
Fix: carry `minor_amount_captured` explicitly in `PaymentServiceCaptureResponse` (UCS) and map it in the HS capture gateway instead of re-deriving from `captured_amount`.
Tracks juspay/hyperswitch-cloud#16996. UCS side: juspay/connector-service#1606.
Contributor guide
Research direction
Start by tracing PaymentServiceCaptureResponse through the UCS capture path into the HS capture gateway, then compare the PayPal native and UCS-shadow capture responses. Ensure the explicit minor_amount_captured value is carried and mapped consistently, and verify that shadow validation no longer reports router.typeDiff:minor_amount_captured.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend-api-design, payments
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100