Stripe void: response.charges diverges (HS object vs UCS null) in shadow validation
- Dominant language
- Rust
- Stars
- 43.7k
- Forks
- 5.1k
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 205
Description
Shadow-validation diff **juspay/hyperswitch-cloud#16999** — connector `stripe`, flow `void`: `router.typeDiff:response.Ok.TransactionResponse.charges` (HS populates `charges`, UCS returns null).
Root cause: the void gRPC request to UCS (`PaymentServiceVoidRequest`) had no `split_payments` field, so HS could not forward the payment's `split_payments` on void; UCS derives the void response `splits`/`charges` from it. Fixed by adding `split_payments` to the void request (UCS) and mapping it from `PaymentsCancelData.split_payments` (HS).
Depends on UCS PR juspay/connector-service#1677.
Contributor guide
Research direction
Review the UCS PaymentServiceVoidRequest and the HS PaymentsCancelData.split_payments mapping, using UCS PR juspay/connector-service#1677 as the dependency context. Verify the void request carries the payment splits and rerun the Stripe void shadow validation; done means response.charges no longer differs between HS and UCS.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- grpc, rust
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100