Skip to content

Commit dbc22b0

Browse files
committed
fix: stripe reverse transfer
1 parent 3990a79 commit dbc22b0

3 files changed

Lines changed: 7 additions & 4 deletions

File tree

lib/mobility-core/src/Kernel/External/Payment/Interface.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,8 @@ refundPayment serviceConfig mRoutingId req = case serviceConfig of
685685
amount = req.amount,
686686
refundApplicationFee = False,
687687
driverAccountId = driverAccount,
688-
email = req.email
688+
email = req.email,
689+
deductFromDriver = req.deductFromDriver
689690
}
690691
resp <- Stripe.createRefund cfg stripeReq
691692
pure

lib/mobility-core/src/Kernel/External/Payment/Interface/Stripe.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -730,9 +730,9 @@ createRefund config req = do
730730
-- Driver receives payment directly (Direct Charges)
731731
ConnectedAccount -> createConnectedAccountRefund url apiKey
732732
where
733-
-- Platform Charge: Need to reverse transfer
733+
-- Platform Charge: Need to reverse transfer (req.deductFromDriver overrides default Just True).
734734
createPlatformRefund url apiKey = do
735-
let reverseTransfer = Just True
735+
let reverseTransfer = req.deductFromDriver <|> Just True
736736
refundReq = mkRefundReq req reverseTransfer
737737
mkRefundResp <$> Stripe.createRefund url apiKey Nothing refundReq
738738

lib/mobility-core/src/Kernel/External/Payment/Interface/Types.hs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -938,7 +938,8 @@ data CreateRefundReq = CreateRefundReq
938938
amount :: Maybe HighPrecMoney,
939939
refundApplicationFee :: Bool,
940940
driverAccountId :: AccountId,
941-
email :: Maybe Text
941+
email :: Maybe Text,
942+
deductFromDriver :: Maybe Bool
942943
}
943944

944945
data CreateRefundResp = CreateRefundResp
@@ -1031,6 +1032,7 @@ data RefundPaymentReq = RefundPaymentReq
10311032
paymentIntentId :: Maybe PaymentIntentId,
10321033
driverAccountId :: Maybe AccountId,
10331034
email :: Maybe Text,
1035+
deductFromDriver :: Maybe Bool,
10341036
-- Juspay-specific
10351037
splitSettlementDetails :: Maybe RefundSplitSettlementDetails
10361038
}

0 commit comments

Comments
 (0)