#famicom0

1 messages ยท Page 1 of 1 (latest)

hybrid atlasBOT
#

Hello famicom0, we'll be with you shortly! Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.
โ€ข https://discord.com/channels/841573134531821608/1163891930703339611, 0 days ago, 2 messages

outer condor
#

Nothing has changed, my original thread was locked ๐Ÿ˜’

gloomy galleon
#

My last question was:

The docs mention this:

If you want to complete the payment with the partially applied funds, you can update the amount and confirm the PaymentIntent again.

Did you try that already?

mild marlin
#

Can you share the example payment intent ID you tried this with?

outer condor
#

I tried with these 2 payment intents: pi_3O2GdeKvO0GKmvAM0Uxnbr5h and pi_3O2GkKKvO0GKmvAM0brI5JaY

mild marlin
#
outer condor
#

Yeap... I was the one who pushed them to success. I had to simulate funding again, after updating the amount to be less than the original, and then confirming the payment intent again. One might assume, perhaps naively, that if the payment was partially funded, and then the payment amount was updated to the partially funded amount, re-confirming said payment intent would automatically move the payment to success.

My question is: is this a quirk of the simulate funding option within test mode? Or is this something our customers will see in production? If the payment has already been partially funded, but updating the payment requires me to send the funding for the new amount, where did the old money go?

mild marlin
#

I don't think this adjustment amount flow works the way to expect updating the PI before applying

#

There was no match at the time of funding

#

then updating and confirming the PI

outer condor
#

You're saying Stripe did not automatically reconcile the partial funds to the payment?

#

I see this event that was generated by Stripe; this looks like automatic reconciliation to me?

evt_3O2GkKKvO0GKmvAM0wVT6jOZ

hybrid atlasBOT
outer condor
#

Here is a payment intent where I partially funded: pi_3O2JD1KvO0GKmvAM2vD4sZfr

#

I then updated the payment amount to the partially funded amount, and re-confirmed. I then tried manual reconciliation and got an error:

{
  "error": {
    "message": "The amount provided exceeds the customer's available cash.",
    "request_log_url": "https://dashboard.stripe.com/test/logs/req_O7NGZ71bkIO4Pd?t=1697572090",
    "type": "invalid_request_error"
  }
}
upper hull
#

๐Ÿ‘‹ Taking over and catching up

#

this seems like a long running thread, can you give me a few sentence summary of what's going on while I read up on the previous messages?

outer condor
#

Hi Hanzo, sure. I'm concerned about the customer experience when a payment is partially funded for customer_balance payments. I updated the payment amount to reflect the partially funded amount, and confirmed, but Stripe requires the customer to fund the entire payment amount again for the payment to succeed. I suspect this is an issue with your test mode simulate funding feature, but I wanted to know if this could happen in production.

upper hull
#

So just so that I am on the same page, for example

let's say you have a PaymentIntent for $100 and a customer partially paid $50
You're saying that they need to fund with $100 again to complete the payment?

outer condor
#

My scenario:

  • customer places an order for $10
  • they wire over $10, but bank takes $1 processing fee
  • Stripe receives $9, puts it into customer's cash balance
  • Stripe recognizes the customer has an open payment for $10, partially funds $9 to this payment
  • I choose to "eat" the $1 processing fee, I update the payment to $9 and confirm
  • payment should confirm succeed?
#

This is what I see when using simulate funding. Is there a way to top up a customer's cash balance outside of simulate funding? This is all in the test mode environment.

upper hull
#

I choose to "eat" the $1 processing fee, I update the payment to $9 and confirm
payment should confirm succeed?
Not sure about this part, let me check

#

The only way to top up cash balance is to simulate funding. Checking if you can just mark a partially funded PaymentIntent as funded manually

mild marlin
#

hey again, i kept digging into this to understand what happened

#

And now I see the missing piece

#

I can file some feedback internally to improve our docs about this, it does seem like what is written is misleading, since confirming the PI is not sufficient

outer condor
#

this also caused the pending customer balance amount partially funding it to be reversed/unapplied, and returned to the customer balance
Hmmm... and I'm assuming that since I used simulate funding, there was no money to put back into the customer's balance, hence why it looked like that money had vanished? ๐Ÿค”

I'm assuming in real world use case, if the money is put back into customer's cash balance; Stripe sees open order, the cash balance is applied against the open order, and it succeeds because the customer balance amount and the new payment amount match?

#

Just to be clear; there is no way for me to manually re-apply the balance with simulate funding; but if we need to manually re-apply in real-world use case we can build that. I just wish there was a way to test my assumptions before deploying to prod

mild marlin
#

You can do this, but you should create a "clean" customer for this flow I'd say

#

It's possible if there were no other PIs this balance would have been re-applied to the same PI again

#

partial payments without a match for reconciliation apply to the oldest payment intents first, so that old PI from june caught it here

#

Looks like it has a very large amount, and might sink a lot of unmatched partial payments

#

overall, i'd suggest creating a new test customer to test such flows precisely without the baggage of other tests

outer condor
#

Thanks, that's very helpful

mild marlin
#

NP -- hope that helps clear up what happened here

#

It was pretty subtle, i missed it too

#

But glad we were able to figure out what happened!

outer condor
#

Thanks again