I have implemented a marketplace with a cart, where users can add multiple services and can process payments in their local currency. Currently each service is linked with a seller on stripe so when a user pays for the service a part of payment goes to the linked seller.
We have taken the following approach as we can have multiple sellers in one payment Stripe separate charges and transfer
I am facing issue if the user's currency (USD) is not matching with the Platform Currency (EUR) the payment is processed but when we try to process transfer to the seller after the full payment its failing as Currency are not matching.
User makes a charge in USD (local currency) which is successful and stripe then internally process it to EUR as our base currency is EUR. After this we initiate a transfer in USD to the appropriate seller, which fails due to currency issue.
Possible solutions i have tried: 1) I have converted amount from the USD to EUR before making a transfer which succeeds but the exchange rate is not matching with the stripe exchange rate. As stripe also does an internal currency conversion after a full payment, so total after all payment and transfer doesn't match.