#[non_exhaustive]pub enum RefundStatus {
Pending,
RequiresAction,
Succeeded,
Failed,
Canceled,
}Expand description
Where a refund stands.
A refund is not instant anywhere. Every provider here answers a fresh one
as something other than “the money is back”: Stripe’s is pending,
Mollie’s queued, and iyzico’s In-Store refund has not even been agreed to
yet — the payer approves it through a deep link, which is why this shape
carries a Refund::next_action at all.
§Not every provider can produce every one of these
The same caution as Status, and the same table shape.
From each adapter’s mapping:
Pending | RequiresAction | Succeeded | Failed | Canceled | |
|---|---|---|---|---|---|
| Stripe | yes | yes | yes | yes | yes |
iyzico classic | no | no | yes | no | no |
iyzico in_store | no | yes | no | no | no |
| PayTR | yes | no | no | no | no |
| Mollie | yes | no | yes | yes | yes |
| PayPal | yes | no | yes | yes | yes |
The two iyzico rows are the ones worth knowing about, and they are the two
halves of the same fact: iyzico answers a refund once, and never again.
classic answers a refund it has already accepted, so it is Succeeded
the moment it is read and there is no later state to poll for; in_store
answers a deep link and nothing else, so it is RequiresAction and what
became of it arrives on the callback rather than here.
PayTR’s is always Pending. Its /odeme/iade answers that it took the
request, and the refund’s own completion turns up later as a
date_completed on the payment’s status query — PayTr::refunds is where
a caller reads it.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Pending
Accepted, and the money is not back yet.
RequiresAction
Stalled until somebody acts — see Refund::next_action.
Succeeded
The money is back with the payer.
Failed
It will not be sent.
Canceled
Withdrawn before it was sent.
Implementations§
Trait Implementations§
Source§impl Clone for RefundStatus
impl Clone for RefundStatus
Source§fn clone(&self) -> RefundStatus
fn clone(&self) -> RefundStatus
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more