The Transfer object
Description
A transfer is a request to relocate funds from one wallet to another in the same currency. To convert funds between wallets of different currencies, see Conversions.
Note – SCA applies to Owner-initiated transfers
Transfers between two different users with the UserCategory
of OWNER
are in scope of SCA. Unless Mangopay can apply an exemption (such as for low-amount or low-risk transfers), these transfers require your platform to redirect the user to a Mangopay-hosted webpage where they can authenticate.
The parameter ScaContext
allows your platform to introduce SCA on these transfers with the value USER_PRESENT
, and to declare other transfers as not requiring SCA redirection with the value USER_NOT_PRESENT
.
Read more about SCA on transfers →
Attributes
Possible values: USER_PRESENT
, USER_NOT_PRESENT
Default value: null
The SCA context of the request, which should be considered required if the AuthorId
references a user whose UserCategory
is OWNER
:
USER_PRESENT
– The user is initiating the transfer and is actively present. The platform must redirect the user for SCA using thePendingUserAction.RedirectUrl
returned, unless an exemption can be applied by Mangopay such as on low-amount and low-risk transfers. Platforms are not able to request specific exemptions.USER_NOT_PRESENT
– No user is present: the transfer is automated by the platform as part of their declared and authorized workflow. On these transfers, SCA redirection is not initially required, but in future Mangopay may be required to override the request.
The API returns what was sent. Both values may technically result in the need for SCA redirection, because an exemption may be applied by Mangopay or (in future) Mangopay may be required to override a given request.
Note: ScaContext
is a temporary mechanism to introduce SCA on existing endpoints and workflows. New integrations should consider the parameter required and send USER_PRESENT
by default. Read more about SCA on transfers →
The unique identifier of the object.
Max. length: 255 characters
Custom data that you can add to this object.
For transactions (pay-in, transfer, payout), you can use this parameter to identify corresponding information regarding the user, transaction, or payment methods on your platform.
The date and time at which the object was created.
The unique identifier of the user at the source of the transaction.
Default value: The unique identifier of the owner of the credited wallet.
The unique identifier of the user whose wallet is credited.
Information about the debited funds.
Information about the credited funds (CreditedFunds
= DebitedFunds
- Fees
).
Information about the fees taken by the platform for this transaction (and hence transferred to the Fees Wallet).
Returned values: CREATED
, SUCCEEDED
, FAILED
The status of the transaction.
The code indicating the result of the operation. This information is mostly used to handle errors or for filtering purposes.
The explanation of the result code.
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
.
Returned values: PAYIN
, TRANSFER
, CONVERSION
, PAYOUT
The type of the transaction.
Returned values: REGULAR
, REPUDIATION
, REFUND
, SETTLEMENT
The nature of the transaction, 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 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.
The unique identifier of the debited wallet.
The unique identifier of the credited wallet.
Object containing the link needed for SCA redirection if triggered by the API call (otherwise returned null
).
Was this page helpful?