> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.mangopay.com/api-reference/transfers/create-transfer/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mangopay.com/_mcp/server. # Create a Transfer POST https://api.sandbox.mangopay.com/v2.01/{ClientId}/transfers Content-Type: application/json **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](/guides/sca/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](/guides/sca/transfers), unless Mangopay applies a [low-amount or low-risk exemption](/guides/sca#exemptions-available-to-mangopay) to the transfer (or unless your platform is using a [proxy and user consent](/guides/sca/proxy-management)). 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](/guides/sca/session) guide. In Sandbox, you can bypass SCA by including the word `accept` in the `Email` value of the [Natural User](/api-reference/users/natural-user-object-sca) or the `LegalRepresentative.Email` value of the [Legal User](/api-reference/users/legal-user-object-sca) – for example `accept@example.com` or `john.doe+accept@example.com`. Create a Transfer Reference: https://docs.mangopay.com/api-reference/transfers/create-transfer ## Authentication - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, where token is your auth token. If your platform is using a [proxy](/guides/sca/proxy-management) to take SCA-triggering action on behalf of users, you also need to integrate [mTLS authentication](/guides/sca/platform) and use the `api-mtls` base URL. ## Servers - `https://api.sandbox.mangopay.com` (Sandbox, default) - `https://api.mangopay.com` (Production) - `https://api-mtls.sandbox.mangopay.com` (mTLS Sandbox) - `https://api-mtls.mangopay.com` (mTLS Production) ## Request ### Path parameters - `ClientId` (string, required) — Platform's API account identifier, associated with the API key. ### Body (application/json) This endpoint expects a CreateATransferRequest. - `AuthorId` (string, required) — The unique identifier of the user at the source of the transaction. - `DebitedFunds` (CreateATransferRequestDebitedFunds, required) — Information about the debited funds. - `Fees` (CreateATransferRequestFees, required) — Information about the fees. - `CreditedWalletId` (string, required) — The unique identifier of the credited wallet. - `DebitedWalletId` (string, required) — The unique identifier of the debited wallet. - `ScaContext` (string, optional) — **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](/guides/sca/session) using the `PendingUserAction.RedirectUrl` returned 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, then `USER_NOT_PRESENT` returns a 403 error. Read more about [managing proxy and user consent](/guides/sca/proxy-management) **→** **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) - `Tag` (string, optional) — 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 ### 200 Success - `ScaContext` (string, optional) — **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](/guides/sca/session) using the `PendingUserAction.RedirectUrl` returned 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, then `USER_NOT_PRESENT` returns a 403 error. Read more about [managing proxy and user consent](/guides/sca/proxy-management) **→** **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) - `Id` (string, optional) — Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details) The unique identifier of the object. - `Tag` (string, optional) — 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}"`. - `CreationDate` (integer, optional) — Unix timestamp (UTC) of the date and time the object was created. - `AuthorId` (string, optional) — The unique identifier of the user at the source of the transaction. - `CreditedUserId` (string, optional) — **Default value:** The unique identifier of the owner of the credited wallet. The unique identifier of the user whose wallet is credited. - `DebitedFunds` (CreateATransferResponseDebitedFunds, optional) — Information about the debited funds. - `CreditedFunds` (CreateATransferResponseCreditedFunds, optional) — Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`). - `Fees` (CreateATransferResponseFees, optional) — Information about the fees. - `Status` (string, optional) — **Returned values:** `CREATED`, `SUCCEEDED`, `FAILED` The status of the transaction. - `ResultCode` (string, optional) — The code indicating the result of the operation. This information is mostly used to handle errors or for filtering purposes. - `ResultMessage` (string, optional) — The explanation of the result code. - `ExecutionDate` (integer, optional) — 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`. - `Type` (string, optional) — **Returned values:** `PAYIN`, `TRANSFER`, `CONVERSION`, `PAYOUT` The type of the transaction. - `Nature` (string, optional) — **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. - `DebitedWalletId` (string, optional) — The unique identifier of the debited wallet. - `CreditedWalletId` (string, optional) — The unique identifier of the credited wallet. - `PendingUserAction` (PendingUserAction, optional) — Object containing the `RedirectUrl` needed for SCA redirection if triggered by the API call (otherwise returned `null`). ## Errors ### 400 Bad Request Error Bad Request - `Message` (string, optional) — Description of the error. - `Type` (string, optional) — The category of the error. - `Id` (string, optional) — Unique identifier of the error instance, useful when contacting Mangopay for support. - `Date` (double, optional) — Unix timestamp (UTC) of the date and time the error was triggered. - `errors` (map from string to string, optional, nullable) — Object containing one or more field-level errors. ## Types ### CreateATransferRequestDebitedFunds Information about the debited funds. - `Currency` (string, required) — **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 amount. - `Amount` (integer, required) — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`. ### CreateATransferRequestFees Information about the fees. - `Currency` (string, required) — **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 amount. - `Amount` (integer, required) — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`. ### CreateATransferResponseDebitedFunds Information about the debited funds. - `Currency` (string, optional) — **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 amount. - `Amount` (integer, optional) — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`. ### CreateATransferResponseCreditedFunds Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`). - `Currency` (string, optional) — **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 amount. - `Amount` (integer, optional) — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`. ### CreateATransferResponseFees Information about the fees. - `Currency` (string, optional) — **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 amount. - `Amount` (integer, optional) — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`. ### PendingUserAction Object containing the `RedirectUrl` needed for SCA redirection if triggered by the API call (otherwise returned `null`). - `RedirectUrl` (string, optional) — The URL to which to redirect the user to perform strong customer authentication (SCA) via a Mangopay-hosted webpage. This value is a variable and should not be hardcoded. The SCA session link expires 10 minutes after it's generated. **Caution:** Before redirecting the user on this URL, you must add the query parameter `ReturnUrl` with the percent-encoded URL to which you want the SCA session to return the user after authentication (whether successful or not). For more details, see [How to redirect a user for an SCA session](/guides/sca/session#how-to-redirect-a-user-for-sca). ## Examples ### SCA required **Request** ```json { "body": { "AuthorId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR", "CreditedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C", "DebitedFunds": { "Amount": 3001, "Currency": "EUR" }, "DebitedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1", "Fees": { "Amount": 0, "Currency": "EUR" }, "ScaContext": "USER_PRESENT", "Tag": "Created using Mangopay API Postman Collection" } } ``` **Response** ```json { "ScaContext": "USER_PRESENT", "Id": "xfer_c_01JRSHQFG2337DBQ4NS8XPYCK7", "Tag": "Created using Mangopay API Postman Collection", "CreationDate": 1744614179, "AuthorId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR", "CreditedUserId": "user_m_01JRHSS3B18H86QA0C467RVK07", "DebitedFunds": { "Currency": "EUR", "Amount": 3001 }, "CreditedFunds": { "Currency": "EUR", "Amount": 3001 }, "Fees": { "Currency": "EUR", "Amount": 0 }, "Status": "CREATED", "ResultCode": null, "ResultMessage": null, "ExecutionDate": null, "Type": "TRANSFER", "Nature": "REGULAR", "DebitedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1", "CreditedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C", "PendingUserAction": { "RedirectUrl": "https://sca.sandbox.mangopay.com/?token=sca_0196331bc1247e3fa33be6f9c797abd7" } } ``` **SDK Code** ```python SCA required from pprint import pprint import mangopay mangopay.client_id='your-client-id' mangopay.apikey='your-api-key' from mangopay.api import APIRequest handler = APIRequest(sandbox=True) from mangopay.resources import NaturalUser, Wallet, Transfer from mangopay.utils import Money credited_natural_user = NaturalUser.get('213753890') credited_natural_user_wallet = Wallet.get('213754077') debited_natural_user = NaturalUser.get('210513027') debited_natural_user_wallet = Wallet.get('210514820') transfer = Transfer( author = debited_natural_user, credited_user = credited_natural_user, debited_funds = Money(amount=1000, currency='EUR'), fees = Money(amount=0, currency='EUR'), debited_wallet=debited_natural_user_wallet, credited_wallet=credited_natural_user_wallet ) create_transfer = transfer.save() pprint(create_transfer) ``` ```javascript SCA required const mangopayInstance = require('mangopay4-nodejs-sdk') const mangopay = new mangopayInstance({ clientId: 'your-client-id', clientApiKey: 'your-api-key', }) let myUser = { Id: '146476890', WalletId: '148968396', } let myCreditedUser = { Id: '174796429 ', WalletId: '174796439', } let myTransfer = { AuthorId: myUser.Id, Tag: 'Created using Mangopay NodeJS SDK', CreditedUserId: myCreditedUser.Id, DebitedFunds: { Currency: 'EUR', Amount: 12, }, Fees: { Currency: 'EUR', Amount: 0, }, DebitedWalletId: myUser.WalletId, CreditedWalletId: myCreditedUser.WalletId, } const createTransfer = async (transfer) => { return await mangopay.Transfers.create(transfer) .then((response) => { console.info(response) return response }) .catch((err) => { console.log(err) return false }) } createTransfer(myTransfer) ``` ```java SCA required import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.mangopay.MangoPayApi; import com.mangopay.core.Money; import com.mangopay.core.enumerations.CurrencyIso; import com.mangopay.entities.Transfer; public class CreateTransfer { public static void main(String[] args) throws Exception { MangoPayApi mangopay = new MangoPayApi(); mangopay.getConfig().setClientId("your-client-id"); mangopay.getConfig().setClientPassword("your-api-key"); var debitedUserId = "user_m_01HQK25M6KVHKDV0S36JY9NRKR"; var debitedrWalletId = "wlt_m_01HQT6422EER2N7FPRXWTSDCSV"; var creditedUserId = "user_m_01HT2NFK7Z2BRQNGNHMY30VVTT"; var creditedWalletId = "wlt_m_01HTF5S9MG0XXBZ8A0550MED3Z"; Transfer transfer = new Transfer(); transfer.setAuthorId(debitedUserId); transfer.setDebitedWalletId(debitedrWalletId); transfer.setCreditedUserId(creditedUserId); transfer.setCreditedWalletId(creditedWalletId); transfer.setDebitedFunds(new Money(CurrencyIso.EUR, 1000)); transfer.setFees(new Money(CurrencyIso.EUR, 0)); transfer.setTag("Created using the Mangopay Java SDK"); Transfer createTransfer = mangopay.getTransferApi().create(transfer); Gson pprint = new GsonBuilder().setPrettyPrinting().create(); String prettyJson = pprint.toJson(createTransfer); System.out.println(prettyJson); } } ``` ```csharp SCA required using MangoPay.SDK; using MangoPay.SDK.Core.Enumerations; using MangoPay.SDK.Entities; using MangoPay.SDK.Entities.POST; using Newtonsoft.Json; class Program { static async Task Main(string[] args) { MangoPayApi api = new MangoPayApi(); api.Config.ClientId = "your-client-id"; api.Config.ClientPassword = "your-api-key"; var userId = "user_m_01J2TZ261WZNDM0ZDRWGDYA4GN"; var debitedWalletId = "wlt_m_01J30991BXBB7VF28PBS82EWD3"; var creditedWalletId = "wlt_m_01J3D02K6ETV3BDP88C7PD2NDB"; var transfer = new TransferPostDTO(userId, userId, new Money { Amount = 1000, Currency = CurrencyIso.EUR }, new Money { Amount = 0, Currency = CurrencyIso.EUR }, debitedWalletId, creditedWalletId ) { Tag = "Created using the Mangopay .NET SDK" }; var createTransfer = await api.Transfers.CreateAsync(transfer); string prettyPrint = JsonConvert.SerializeObject(createTransfer, Formatting.Indented); Console.WriteLine(prettyPrint); } } ``` ```php SCA required Config->ClientId = 'your-client-id'; $api->Config->ClientPassword = 'your-api-key'; $api->Config->TemporaryFolder = 'tmp/'; try { $transfer = new \MangoPay\Transfer(); $transfer->AuthorId = '146476890'; $transfer->CreditedUserId = '174796429 '; $transfer->Tag = 'Created using Mangopay PHP SDK'; $transfer->DebitedFunds = new \MangoPay\Money(); $transfer->DebitedFunds->Currency = "EUR"; $transfer->DebitedFunds->Amount = 1000; $transfer->Fees = new \MangoPay\Money(); $transfer->Fees->Currency = "EUR"; $transfer->Fees->Amount = 0; $transfer->CreditedWalletId = '174796439'; $transfer->DebitedWalletId = '148968396'; $response = $api->Transfers->Create($transfer); print_r($response); } catch(MGPResponseException $e) { print_r($e); } catch(MGPException $e) { print_r($e); } ``` ```ruby SCA required require 'mangopay' MangoPay.configure do |client| client.preproduction = true client.client_id = 'your-client-id' client.client_apiKey = 'your-api-key' client.log_file = File.join(Dir.pwd, 'mangopay.log') end def createTransfer(transferObject) begin response = MangoPay::Transfer.create(transferObject) puts response return response rescue MangoPay::ResponseError => error puts "Failed to create transfer: #{error.message}" puts "Error details: #{error.details}" return false end end myUser = { Id: '146476890', WalletId: '148968396' } myCreditedUser = { Id: '174796429 ', WalletId: '174796439' } myTransfer = { AuthorId: myUser[:Id], Tag: 'Created using Mangopay NodeJS SDK', CreditedUserId: myCreditedUser[:Id], DebitedFunds: { Currency: 'EUR', Amount: 12 }, Fees: { Currency: 'EUR', Amount: 0 }, DebitedWalletId: myUser[:WalletId], CreditedWalletId: myCreditedUser[:WalletId] } createTransfer(myTransfer) ``` ### SCA not required **Request** ```json { "body": { "AuthorId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR", "CreditedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C", "DebitedFunds": { "Amount": 3001, "Currency": "EUR" }, "DebitedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1", "Fees": { "Amount": 0, "Currency": "EUR" }, "ScaContext": "USER_PRESENT", "Tag": "Created using Mangopay API Postman Collection" } } ``` **Response** ```json { "ScaContext": "USER_PRESENT", "Id": "xfer_c_01JRSHXFS5YX0HVCXZFQ4J2XMH", "Tag": "Created using Mangopay API Postman Collection", "CreationDate": 1744614375, "AuthorId": "user_m_01JRHSS3B18H86QA0C467RVK07", "CreditedUserId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR", "DebitedFunds": { "Currency": "EUR", "Amount": 1000 }, "CreditedFunds": { "Currency": "EUR", "Amount": 1000 }, "Fees": { "Currency": "EUR", "Amount": 0 }, "Status": "SUCCEEDED", "ResultCode": "000000", "ResultMessage": "Success", "ExecutionDate": 1744614375, "Type": "TRANSFER", "Nature": "REGULAR", "DebitedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C", "CreditedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1", "PendingUserAction": null } ``` **SDK Code** ```python SCA not required from pprint import pprint import mangopay mangopay.client_id='your-client-id' mangopay.apikey='your-api-key' from mangopay.api import APIRequest handler = APIRequest(sandbox=True) from mangopay.resources import NaturalUser, Wallet, Transfer from mangopay.utils import Money credited_natural_user = NaturalUser.get('213753890') credited_natural_user_wallet = Wallet.get('213754077') debited_natural_user = NaturalUser.get('210513027') debited_natural_user_wallet = Wallet.get('210514820') transfer = Transfer( author = debited_natural_user, credited_user = credited_natural_user, debited_funds = Money(amount=1000, currency='EUR'), fees = Money(amount=0, currency='EUR'), debited_wallet=debited_natural_user_wallet, credited_wallet=credited_natural_user_wallet ) create_transfer = transfer.save() pprint(create_transfer) ``` ```javascript SCA not required const mangopayInstance = require('mangopay4-nodejs-sdk') const mangopay = new mangopayInstance({ clientId: 'your-client-id', clientApiKey: 'your-api-key', }) let myUser = { Id: '146476890', WalletId: '148968396', } let myCreditedUser = { Id: '174796429 ', WalletId: '174796439', } let myTransfer = { AuthorId: myUser.Id, Tag: 'Created using Mangopay NodeJS SDK', CreditedUserId: myCreditedUser.Id, DebitedFunds: { Currency: 'EUR', Amount: 12, }, Fees: { Currency: 'EUR', Amount: 0, }, DebitedWalletId: myUser.WalletId, CreditedWalletId: myCreditedUser.WalletId, } const createTransfer = async (transfer) => { return await mangopay.Transfers.create(transfer) .then((response) => { console.info(response) return response }) .catch((err) => { console.log(err) return false }) } createTransfer(myTransfer) ``` ```java SCA not required import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.mangopay.MangoPayApi; import com.mangopay.core.Money; import com.mangopay.core.enumerations.CurrencyIso; import com.mangopay.entities.Transfer; public class CreateTransfer { public static void main(String[] args) throws Exception { MangoPayApi mangopay = new MangoPayApi(); mangopay.getConfig().setClientId("your-client-id"); mangopay.getConfig().setClientPassword("your-api-key"); var debitedUserId = "user_m_01HQK25M6KVHKDV0S36JY9NRKR"; var debitedrWalletId = "wlt_m_01HQT6422EER2N7FPRXWTSDCSV"; var creditedUserId = "user_m_01HT2NFK7Z2BRQNGNHMY30VVTT"; var creditedWalletId = "wlt_m_01HTF5S9MG0XXBZ8A0550MED3Z"; Transfer transfer = new Transfer(); transfer.setAuthorId(debitedUserId); transfer.setDebitedWalletId(debitedrWalletId); transfer.setCreditedUserId(creditedUserId); transfer.setCreditedWalletId(creditedWalletId); transfer.setDebitedFunds(new Money(CurrencyIso.EUR, 1000)); transfer.setFees(new Money(CurrencyIso.EUR, 0)); transfer.setTag("Created using the Mangopay Java SDK"); Transfer createTransfer = mangopay.getTransferApi().create(transfer); Gson pprint = new GsonBuilder().setPrettyPrinting().create(); String prettyJson = pprint.toJson(createTransfer); System.out.println(prettyJson); } } ``` ```csharp SCA not required using MangoPay.SDK; using MangoPay.SDK.Core.Enumerations; using MangoPay.SDK.Entities; using MangoPay.SDK.Entities.POST; using Newtonsoft.Json; class Program { static async Task Main(string[] args) { MangoPayApi api = new MangoPayApi(); api.Config.ClientId = "your-client-id"; api.Config.ClientPassword = "your-api-key"; var userId = "user_m_01J2TZ261WZNDM0ZDRWGDYA4GN"; var debitedWalletId = "wlt_m_01J30991BXBB7VF28PBS82EWD3"; var creditedWalletId = "wlt_m_01J3D02K6ETV3BDP88C7PD2NDB"; var transfer = new TransferPostDTO(userId, userId, new Money { Amount = 1000, Currency = CurrencyIso.EUR }, new Money { Amount = 0, Currency = CurrencyIso.EUR }, debitedWalletId, creditedWalletId ) { Tag = "Created using the Mangopay .NET SDK" }; var createTransfer = await api.Transfers.CreateAsync(transfer); string prettyPrint = JsonConvert.SerializeObject(createTransfer, Formatting.Indented); Console.WriteLine(prettyPrint); } } ``` ```php SCA not required Config->ClientId = 'your-client-id'; $api->Config->ClientPassword = 'your-api-key'; $api->Config->TemporaryFolder = 'tmp/'; try { $transfer = new \MangoPay\Transfer(); $transfer->AuthorId = '146476890'; $transfer->CreditedUserId = '174796429 '; $transfer->Tag = 'Created using Mangopay PHP SDK'; $transfer->DebitedFunds = new \MangoPay\Money(); $transfer->DebitedFunds->Currency = "EUR"; $transfer->DebitedFunds->Amount = 1000; $transfer->Fees = new \MangoPay\Money(); $transfer->Fees->Currency = "EUR"; $transfer->Fees->Amount = 0; $transfer->CreditedWalletId = '174796439'; $transfer->DebitedWalletId = '148968396'; $response = $api->Transfers->Create($transfer); print_r($response); } catch(MGPResponseException $e) { print_r($e); } catch(MGPException $e) { print_r($e); } ``` ```ruby SCA not required require 'mangopay' MangoPay.configure do |client| client.preproduction = true client.client_id = 'your-client-id' client.client_apiKey = 'your-api-key' client.log_file = File.join(Dir.pwd, 'mangopay.log') end def createTransfer(transferObject) begin response = MangoPay::Transfer.create(transferObject) puts response return response rescue MangoPay::ResponseError => error puts "Failed to create transfer: #{error.message}" puts "Error details: #{error.details}" return false end end myUser = { Id: '146476890', WalletId: '148968396' } myCreditedUser = { Id: '174796429 ', WalletId: '174796439' } myTransfer = { AuthorId: myUser[:Id], Tag: 'Created using Mangopay NodeJS SDK', CreditedUserId: myCreditedUser[:Id], DebitedFunds: { Currency: 'EUR', Amount: 12 }, Fees: { Currency: 'EUR', Amount: 0 }, DebitedWalletId: myUser[:WalletId], CreditedWalletId: myCreditedUser[:WalletId] } createTransfer(myTransfer) ```