Refund
A refund of one donation. status and pending_reason say where it is; refund.created and refund.updated carry this same object.
- amountType: integer
_minor min:1requiredAmount of the refund, in USD cents. It does not change after creation.
- cancelType: boolean
_recurrence requiredWhether the request also cancelled the donor's recurring gift.
- churchType: string
_id requiredRoster identifier of the church that received the donation.
- createdType: stringFormat: date-time
_at requiredWhen the refund was created, in UTC.
- currencyconst:USDrequired
Currency of the amount; always
USD. - donationType: string
_id requiredThe donation this refund returns, the
idof itsdonation.updatedsnapshot. - failureType: "not_refundable" or "bank_error"enumnullable
_reason requiredWhy a
failedrefund ended;nullin every other status.not_refundable: Roster cannot return this donation through a refund and handles it directly.bank_error: the bank could not send the money. - fundsType: array of objectnullablerequiredProperties: 2
The part of the refund taken from each fund of the donation's split, in USD cents, fixed when the refund is created. The parts add up to
amount_minor, and no fund returns more than what is left of it: each part is in proportion to what is left in each fund, with the cents left by rounding going to the funds with the largest remainders (a tie goes to the fund listed first), so a refund of what is left empties every fund.nullwhen the donation has no split. - idType: stringrequired
Identifier of the refund.
- metadataType: objectnullablerequiredProperties: 1
Your key-value pairs, as sent in
POST /v1/refunds;nullwhen none were sent and on refunds Roster created. - objectconst:refundrequired
Always
refund. - pendingType: "in_review" or "awaiting_approval" or "processing"enumnullable
_reason requiredWhat a
pendingrefund waits for;nullin every other status.in_review: the donation is in review at Roster, and the refund waits for that review to end.awaiting_approval: Roster is checking the refund before sending the money.processing: the money was sent to the donor's bank and waits for the bank's confirmation. - reasonType: stringenumrequired
Why the donation is refunded, as sent in
POST /v1/refunds. Roster also creates refunds on its own, for money that reached the donor's account and is not passed on to the church:after_cancellationwhen it arrived after the donor's recurring gift was cancelled,otherotherwise.valuesduplicaterequested_by_donorotherafter_cancellation - statusType: stringenumrequired
Where the refund is.
pending: on its way;pending_reasonsays what it waits for.requires_action: Roster needs a bank account from the donor to send the money; Roster emails the donor a link to add it, and the refund moves on by itself once they do.succeeded: the donor's bank received the money; if that bank later sends it back, the refund returns torequires_action.failed: the refund ended without sending the money; seefailure_reason.canceled: canceled by you or by Roster before the money was sent.failedandcanceledfree the amount, which can be refunded again.valuespendingrequires_actionsucceededfailedcanceled - updatedType: stringFormat: date-time
_at requiredWhen the refund last changed, in UTC.