juspay / juspay/hyperswitch

fix(ucs): mirror connector minor_amount_captured on UCS capture path (PayPal)

Open
#12,902 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.