The Refund object

Description

Mangopay relies on the Refund object to manage the reimbursement of a past transaction. A Refund object has the value REFUND as its Nature and is linked to the transaction being reimbursed by its InitialTransactionId property.

Two types of refund are initiated by the platform (see the Refunds guide for details):

  • Pay-in refund – Platform request to reimburse a pay-in.
  • Transfer refund – Platform request to reimburse a transfer.

There are two other cases generated automatically by Mangopay:

  • Payout return – Return of funds created when, for instance, the end user’s bank account is closed or if the acquiring bank refuses the funds. This transaction re-credits the wallet from which the payout was sent. See the Payouts guide for more details.
  • Repudiation return – Return of funds created when a dispute is won in favor of the platform. This transaction re-credits the Repudiation Wallet, from which the repudiation was debited. See the Disputes guide for more details.

Note – Transaction data retained for 13 months

The API retains all transaction objects for 13 months from CreationDate. This applies to refunds and the initial transaction linked to a refund.

A call to retrieve the initial transaction of a refund, based on the refund’s InitialTransactionId, may return a 404 Not Found if it occurred more than 13 months ago.

For more information, see the Data availability periods article.

Attributes

Id
string

The unique identifier of the object.

Tag
string

Custom data that can be added to this object.
In the case of the Card Registration, this parameter can be used to facilitate the link between the User object and its equivalent on your platform for instance. This value will be inherited by the Card object Tag parameter and will not be editable.

CreationDate
Unix timestamp

The date and time at which the object was created.

AuthorId
stringRequired

The unique identifier of the user at the source of the transaction. In a conversion, both the debited and credited wallets are owned by the author.

CreditedUserId
string

Default value: The unique identifier of the owner of the credited wallet.

The unique identifier of the user whose wallet is credited.

DebitedFunds
object

Default value: The amount and currency values of the debited funds of the initial transaction.

Information about the debited funds. Debited funds:

  • Takes by default the amount and currency values of the initial transaction when left empty.
  • Must be entered manually to perform a partial refund.
  • Cannot exceed the initial transaction CreditedFunds value when entered manually. This also applies to the sum of debited funds when making multiple partial refunds.
Currency
stringRequired

Allowed values: The three-letter ISO 4217 code (EUR, GBP, etc) of a supported currency (depends on feature, contract, and activation settings).

The currency of the preauthorized funds.

Amount
integerRequired

An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as 1260 whereas JPY 12 would be represented as just 12).

CreditedFunds
object

Information about the credited funds (CreditedFunds = DebitedFunds - Fees).

Currency
stringRequired

Allowed values: The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings).

The currency of the credited funds.

Amount
integer

An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as 1260 whereas JPY 12 would be represented as just 12).

Fees
object

Default value: The amount and currency values of the fees of the initial transaction.

Information about the fees. This value:

  • Should be preceded by a minus sign (-) to refund the fees, otherwise more fees will be taken.
  • Takes by default the amount and currency values of the fees of the initial transaction when left empty (preceded by a -).
  • Cannot exceed the initial transaction fees amount when entered manually. This also applies to the sum of the amount of the fees when making multiple partial refunds.
Currency
stringRequired

Allowed values: The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings).

The currency of the fees.

Amount
integerRequired

An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as 1260 whereas JPY 12 would be represented as just 12).

Status
string

Returned values: CREATED, SUCCEEDED, FAILED

The status of the transaction.

ResultCode
string

The code indicating the result of the operation. This information is mostly used to handle errors or for filtering purposes.

ResultMessage
string

The explanation of the result code.

ExecutionDate
Unix timestamp

The date and time at which the status changed to SUCCEEDED, indicating that the transaction occurred. The statuses CREATED and FAILED return an ExecutionDate of null.

Type
string

Returned values: PAYIN, TRANSFER, CONVERSION, PAYOUT

The type of the transaction.

Nature
array

Allowed values: REGULAR, REPUDIATION, REFUND, SETTLEMENT

The transaction natures to be taken into account.

  • REGULAR – Relative to most of the transactions (pay-ins, payouts, and transfers) in a usual workflow.
  • REPUDIATION – Automatic withdrawal of funds from the platform’s repudiation wallet as part of the dispute process (when the user has requested a chargeback).
  • REFUND – Reimbursement of a transaction to the user (pay-in refund), to a wallet (transfer refund), or of a payout (payout refund, only initiated by Mangopay).
  • SETTLEMENT – Transfer made to the repudiation wallet by the platform to settle a lost dispute.
InitialTransactionId
string

The unique identifier of the initial transaction being refunded.

InitialTransactionType
string

Returned values: PAYIN, TRANSFER, PAYOUT

The type of the initial transaction being refunded.

InitialTransactionNature
string

Returned values: REGULAR, REPUDIATION, REFUND, SETTLEMENT

The nature of the initial transaction being refunded, providing more information about the context in which the transaction occurred:

  • REGULAR – Relative to most of the transactions (pay-ins, payouts, and transfers) in a usual workflow.
  • REPUDIATION – Automatic withdrawal of funds from the platform’s repudiation wallet as part of the dispute process (when the user requested a chargeback).
  • REFUND – Reimbursement of a transaction to the user (pay-in refund), to a wallet (transfer refund), or of a payout (payout refund, only initiated by Mangopay).
  • SETTLEMENT – Transfer made to the repudiation wallet by the platform to settle the credit from a repudiation following a lost dispute.
DebitedWalletId
stringRequired

The unique identifier of the debited wallet.

CreditedWalletId
stringRequired

The unique identifier of the credited wallet (in the buy currency).

RefundReason
object

Information about the reasons for the refund.

RefundReasonMessage
string

Max. length: 255 characters
Message explaining the reason for the refusal.

RefundReasonType
string

Returned values: INITIALIZED_BY_CLIENT, BANKACCOUNT_INCORRECT, OWNER_DO_NOT_MATCH_BANKACCOUNT, BANKACCOUNT_HAS_BEEN_CLOSED, WITHDRAWAL_IMPOSSIBLE_ON_SAVINGS_ACCOUNTS, OTHER

The type of reason for the refund.