Refund Wallet Load

Refunds all or part of a holder's card load back to the card that paid for it.

Use it when a holder should get a load back on their card, for example a duplicate load. Find the load with Search Wallet
Entries (type deposit); its entryId is the depositId. Only a load that was authorized can be refunded, and only
while it is still a card load: once it has matured into customerCredited it can no longer be refunded, and the holder
withdraws it instead.

Requires the Wallet Management permission (see Invite Wallet Holder).

What happens. The refund is queued: the 201 response is requested. It moves to submitted once the amount has
left the wallet and the card refund was accepted, then to reversed when the money is back on the card, or to failed.
Follow it with Search Wallet Entries, filtering entryId on the refundId. No webhook is sent for refunds.

Unlike credits and charges, amount is an object in minor units, and externalId is required. A repeat with the same
externalId, amount, currency, load and reason returns the existing refund with 200 and sends nothing again.

Errors

  • 400 REFUND_EXTERNAL_ID_REQUIRED: externalId is missing or not 1–128 characters
  • 400 REFUND_INVALID_AMOUNT: amount.amount is not a whole number of at least 1, or amount.currency is not an ISO 4217 code
  • 400 REFUND_REASON_REQUIRED: reason is missing or shorter than 3 characters
  • 400 WALLET_CURRENCY_MISMATCH: amount.currency is not the load's currency
  • 400 VALIDATION_ERROR: amount.amount is more than the load's amount (detail code REFUND_EXCEEDS_DEPOSIT_AMOUNT)
  • 404 NOT_FOUND: the wallet or the load does not exist, or they do not belong to this holder
  • 409 DEPOSIT_NOT_REFUNDABLE: the load was never authorized, was charged back, or has matured into customerCredited
  • 409 REFUND_EXCEEDS_REMAINING: amount.amount is more than what is still refundable on the load, after spending and
    earlier refunds
  • 409 REFUND_ALREADY_EXISTS: a refund with this externalId exists with different terms
  • 409 CUSTOMER_FROZEN: your wallet program is frozen. Contact Payment Labs support
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

The holder's user ID, as returned by Search Wallets or Invite Wallet Holder.

string
required

The wallet ID, starting with W-, as returned by Search Wallets or Invite Wallet Holder.

string
required

Entry ID of the card load to refund, starting with WE-, as returned by Search Wallet Entries.

Body Params

A refund of a card load back to the card.

string
required
length between 1 and 128

Your own unique reference for this refund, 1–128 characters. Required. A second request with the same externalId and
the same terms returns the existing refund and sends nothing again.

amount
object
required

The amount to return to the card, in minor units.

string
required
length ≥ 3

Why you are refunding, at least 3 characters.

Responses

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json