#andy-potter_unexpected
1 messages · Page 1 of 1 (latest)
👋 Welcome to your new thread!
⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
🔗 This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1356261258160115762
📝 Have more to share? Add more details, code, screenshots, videos, etc. below.
Platform is using Stripe Custom Connect, PoLL with Destination Charges on_behalf_of to process payments for Connect Account. We are using the Stripe Embedded Components to provide dashboard access for Connect Accounts.
We are trying to give Connect Accounts the ability to manage refunds and disputes via the Payment Details embedded component as described here : https://docs.stripe.com/connect/supported-embedded-components/payment-details?lang=dotnet#allow-your-connected-accoun[…]o-manage-destination-charges. We followed the directions to allow connected accounts to see payments by setting DestinationOnBehalfOfChargeManagement to true for both PaymentDetails and Payments component options
Running into a odd issue with trying to load the Payment Details in our system for a connected account. When I try to load a payment details screen up is provides an error saying charge ID is not valid. See attached pic.
Here's log for the call https://dashboard.stripe.com/acct_1R7el0GfcvlSBV81/test/logs/req_ZHIFw4E8qe0upu?t=1743203707
Since we're using destination charges with on_behalf_of, the charge is on the platform, not the Connect account. Any ideas on what could be wrong on our end? I feel like I might have seen this before and needed to clone customers to the connect account.
Hi, from reiwing the document you shared, https://docs.stripe.com/connect/supported-embedded-components/payment-details#allow-your-connected-accounts-to-manage-destination-charges it looks like you need to set destination_on_behalf_of_charge_management feature to true.
Did you already do that? Can yous hare the request where you did pass this?
We did set destination_on_behalf_of_charge_management feature to true. Let me see if I can find the logs
Sure
here's the request - https://dashboard.stripe.com/test/logs?starting_after=1743429729-req_KK9H9Zlxq3MjkP
account session one is returning 200, but when stripe is trying to fetch charge that is resulting in 404
This is what we see if the browser console after successful account session
I think you're mixing up the account ids, this request https://dashboard.stripe.com/test/logs/req_KK9H9Zlxq3MjkP was made on acct_1R7NPL2epcO9cxn7. However, this request that failed, https://dashboard.stripe.com/test/logs/req_ZHIFw4E8qe0upu shows
acct_1R7el0GfcvlSBV81
Can you audit this on your end and ensure that you're making the requests on the same account?
Account Session : https://dashboard.stripe.com/test/logs?starting_after=1743429707-req_tNdf83foKAmdCP
Failed to find Charge : https://dashboard.stripe.com/test/logs?starting_after=1743429728-req_MbyHme73U3xN7h
Hi there 👋 I'm jumping in as my teammate needs to step away.
Am I correct in assuming you're using setPayment to specify what payment should be shown by default when the component is rendered?
Or are you finding the payment in the list of payments the component renders, and then seeing the shared error when clicking on it?
Going from the PaymentList to the Payment Detail is fine. We're going to the Payment Detail directly from another area of our admin console
Gotcha, do you have a publicly accessible test page available where we can step through this and see if anything stands out to us?
so to summarize - if we go to payment details from payment list, ✅ if we go to payment detail directly, ❌
we do not have a public page for this 😢
docs say -
For destination charges and separate charges and transfers, the PaymentIntent doesn’t exist on the connected account. Instead, pass the associated charge ID that belongs to the connected account.
but this charge is not on the connected account, only the platform account
Hm, I'm wondering if it's expecting the charge object that gets created on the Connected Account by the Transfer (should have a py_ prefix).
that's a good idea. Let me try that
that does it! only problem is we are storing charge id in the DB, so we need to get to a py_ from a charge. what's the best way to do that?
🥳
I think the cleanest approach for that is:
- Charge -> Transfer via the
transferfield on the Charge: https://docs.stripe.com/api/charges/object#charge_object-transfer - Transfer -> Destination Payment via the
destination_paymentfield on the Transfer: https://docs.stripe.com/api/transfers/object#transfer_object-destination_payment
Super helpful @late surge thank you.
Can I suggest the docs get updated to reflect the info about passing in the py_? Right now it says Payment Intent or Charge, not the Payment
py_ is still a Charge object, and I think the docs already try to point this out via the note you cited earlier, but it does seem that could benefit from being more explicit to avoid this confusion.
yeah, it is confusing. I did not know py_ is still a charge object.
Thanks again for the help @late surge
Any time!