Create a Transfer
Note – ScaContext default value is USER_PRESENT
On this endpoint, the default value for ScaContext is USER_PRESENT. If the PendingUserAction.RedirectUrl value is returned, you need to redirect the user to perform SCA.
With approval from Mangopay, your platform may be able to use the USER_NOT_PRESENT value provided you also have a legal proxy in place with the user and the user’s consent to initiate transfers on their behalf (read more about proxy management).
Note – SCA may be triggered by this endpoint
When a user with UserCategory OWNER initiates a transfer to another OWNER they are required to authenticate the transfer with SCA, unless Mangopay applies a low-amount or low-risk exemption to the transfer (or unless your platform is using a proxy and user consent).
To let the user complete the SCA session on the Mangopay-hosted webpage, your platform needs to retrieve the returned PendingUserAction.RedirectUrl, add an encoded returnUrl query parameter, and redirect the user. Read more about how to redirect them in the SCA session guide.
In Sandbox, you can bypass SCA by including the word accept in the Email value of the Natural User or the LegalRepresentative.Email value of the Legal User – for example accept@example.com or john.doe+accept@example.com.
Create a Transfer
Authentication
Bearer authentication of the form Bearer <token>, where token is your auth token.
If your platform is using a proxy to take SCA-triggering action on behalf of users, you also need to integrate mTLS authentication and use the api-mtls base URL.
Path parameters
Request
Possible values: USER_PRESENT, USER_NOT_PRESENT
The SCA context of the request, which is required if the debited wallet owner's UserCategory is OWNER:
USER_PRESENT– The user is taking the SCA-triggering action of initiating a transfer. The platform must redirect the user using thePendingUserAction.RedirectUrlreturned so that the user can complete the SCA session (unless Mangopay applied an exemption for low-amount and low-risk transfers, so no redirection link was returned).USER_NOT_PRESENT– The platform is taking the action under proxy from the user and the user has previously given consent to Mangopay (via the SCA hosted experience) to allow the action. If the user has not given (or has revoked) their consent, thenUSER_NOT_PRESENTreturns a 403 error.
Read more about managing proxy and user consent →
Note: For existing platforms, the parameter is technically optional if the debited wallet owner's UserCategory is OWNER, and the default value will become USER_PRESENT from Dec 15, 2025 (Dec 1 in Sandbox)
Max. length: 255 characters
Custom data that you can add to this object, such as unique identifiers in your system. To store multiple values, you can serialize them into a single string, for example a JSON object: "{\"id_1\":AB123,\"id_2\":DE456}".
Response
Possible values: USER_PRESENT, USER_NOT_PRESENT
The SCA context of the request, which is required if the debited wallet owner's UserCategory is OWNER:
USER_PRESENT– The user is taking the SCA-triggering action of initiating a transfer. The platform must redirect the user using thePendingUserAction.RedirectUrlreturned so that the user can complete the SCA session (unless Mangopay applied an exemption for low-amount and low-risk transfers, so no redirection link was returned).USER_NOT_PRESENT– The platform is taking the action under proxy from the user and the user has previously given consent to Mangopay (via the SCA hosted experience) to allow the action. If the user has not given (or has revoked) their consent, thenUSER_NOT_PRESENTreturns a 403 error.
Read more about managing proxy and user consent →
Note: For existing platforms, the parameter is technically optional if the debited wallet owner's UserCategory is OWNER, and the default value will become USER_PRESENT from Dec 15, 2025 (Dec 1 in Sandbox)
Max length: 128 characters (see data formats for details)
The unique identifier of the object.
Max. length: 255 characters
Custom data that you can add to this object, such as unique identifiers in your system. To store multiple values, you can serialize them into a single string, for example a JSON object: "{\"id_1\":AB123,\"id_2\":DE456}".
Unix timestamp (UTC) of the date and time the object was created.
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 credited funds (CreditedFunds = DebitedFunds - Fees).
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.
Unix timestamp (UTC) of the date and time 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.
Object containing the RedirectUrl needed for SCA redirection if triggered by the API call (otherwise returned null).