{
"ScaContext": "USER_PRESENT",
"AuthorId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 3001
},
"Fees": {
"Currency": "EUR",
"Amount": 0
},
"DebitedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1",
"CreditedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C",
"Tag": "Created using Mangopay API Postman Collection"
}
<?php
require_once 'vendor/autoload.php';
use MangoPay\MangoPayApi;
use MangoPay\Libraries\ResponseException as MGPResponseException;
use MangoPay\Libraries\Exception as MGPException;
$api = new MangoPayApi();
$api->Config->ClientId = 'your-client-id';
$api->Config->ClientPassword = 'your-api-key';
$api->Config->TemporaryFolder = 'tmp/';
try {
$transfer = new \MangoPay\Transfer();
$transfer->AuthorId = 'user_m_01JYEJ86451TKDK9BZAXRT4RTS';
$transfer->DebitedFunds = new \MangoPay\Money();
$transfer->DebitedFunds->Currency = 'EUR';
$transfer->DebitedFunds->Amount = 100;
$transfer->Fees = new \MangoPay\Money();
$transfer->Fees->Currency = 'EUR';
$transfer->Fees->Amount = 0;
$transfer->DebitedWalletId = 'wlt_m_01JYEJCS18438SEW2773PSNWCV';
$transfer->CreditedWalletId = 'wlt_m_01JY53GESY8V2HBV7EBD6J8FKX';
$transfer->ScaContext = 'USER_PRESENT';
$response = $api->Transfers->Create($transfer);
print_r($response);
} catch(MGPResponseException $e) {
print_r($e);
} catch(MGPException $e) {
print_r($e);
}
const mangopayInstance = require('mangopay4-nodejs-sdk')
const mangopay = new mangopayInstance({
clientId: 'your-client-id',
clientApiKey: 'your-api-key',
})
let myTransfer = {
ScaContext: "USER_PRESENT",
AuthorId: "user_m_01JYEJ86451TKDK9BZAXRT4RTS",
Tag: "Created using Mangopay NodeJS SDK",
DebitedFunds: {
Currency: "EUR",
Amount: 5000,
},
Fees: {
Currency: "EUR",
Amount: 0,
},
DebitedWalletId: "wlt_m_01JYEJCS18438SEW2773PSNWCV",
CreditedWalletId: "wlt_m_01JY53GESY8V2HBV7EBD6J8FKX",
};
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);
require 'mangopay'
MangoPay.configure do |client|
client.preproduction = true
client.client_id = 'your-mangopay-client-id'
client.client_apiKey = 'your-mangopay-api-key'
client.log_file = File.join(Dir.pwd, 'mangopay.log')
end
def createTransfer(transfer)
begin
response = MangoPay::Transfer.create(transfer)
puts response
return response
rescue MangoPay::ResponseError => error
puts "Failed to create Transfer: #{error.message}"
puts "Error details: #{error.details}"
return false
end
end
myTransfer = {
ScaContext: 'USER_PRESENT',
AuthorId: 'user_m_01JYEJ86451TKDK9BZAXRT4RTS',
DebitedWalletId: 'wlt_m_01JYEJCS18438SEW2773PSNWCV',
CreditedWalletId: 'wlt_m_01JY53GESY8V2HBV7EBD6J8FKX',
DebitedFunds: { Currency: 'EUR', Amount: 50001 },
Fees: { Currency: 'EUR', Amount: 0 },
Tag: 'Created using the Mangopay Ruby SDK'
}
createTransfer(myTransfer)
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);
}
}
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 NaturalUserSca, Wallet, Transfer
from mangopay.utils import Money
credited_natural_user_wallet = Wallet.get('wlt_m_01JY53GESY8V2HBV7EBD6J8FKX')
credited_natural_user = NaturalUserSca.get('user_m_01K88BVCEQ1JW91DEVN3AR6MT9')
debited_natural_user_wallet = Wallet.get('wlt_m_01JYEJCS18438SEW2773PSNWCV')
debited_natural_user = NaturalUserSca.get('user_m_01JYEJ86451TKDK9BZAXRT4RTS')
transfer = Transfer(
author=debited_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,
credited_user=credited_natural_user,
sca_context='USER_PRESENT',
)
create_transfer = transfer.save()
pprint(create_transfer)
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 = 50001, Currency = CurrencyIso.EUR },
new Money { Amount = 0, Currency = CurrencyIso.EUR },
debitedWalletId,
creditedWalletId
) {
Tag = "Created using the Mangopay .NET SDK"
ScaContext = "USER_PRESENT"
};
var createTransfer = await api.Transfers.CreateAsync(transfer);
string prettyPrint = JsonConvert.SerializeObject(createTransfer, Formatting.Indented);
Console.WriteLine(prettyPrint);
}
}
{
"ScaContext": "USER_PRESENT",
"Id": "xfer_c_01JRSHQFG2337DBQ4NS8XPYCK7",
"CreationDate": 1744614179,
"DebitedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1",
"CreditedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C",
"AuthorId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR",
"CreditedUserId": "user_m_01JRHSS3B18H86QA0C467RVK07",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 3001
},
"CreditedFunds": {
"Currency": "EUR",
"Amount": 3001
},
"Fees": {
"Currency": "EUR",
"Amount": 0
},
"Type": "TRANSFER",
"Nature": "REGULAR",
"Status": "CREATED",
"Tag": "Created using Mangopay API Postman Collection",
"ResultCode": null,
"ResultMessage": null,
"ExecutionDate": null,
"PendingUserAction": {
"RedirectUrl": "https://sca.sandbox.mangopay.com/?token=sca_0196331bc1247e3fa33be6f9c797abd7"
}
}
{
"ScaContext": "USER_PRESENT",
"Id": "xfer_c_01JRSHXFS5YX0HVCXZFQ4J2XMH",
"CreationDate": 1744614375,
"DebitedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C",
"CreditedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1",
"AuthorId": "user_m_01JRHSS3B18H86QA0C467RVK07",
"CreditedUserId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 1000
},
"CreditedFunds": {
"Currency": "EUR",
"Amount": 1000
},
"Fees": {
"Currency": "EUR",
"Amount": 0
},
"Type": "TRANSFER",
"Nature": "REGULAR",
"Status": "SUCCEEDED",
"Tag": "Created using Mangopay API Postman Collection",
"ResultCode": "000000",
"ResultMessage": "Success",
"ExecutionDate": 1744614375,
"PendingUserAction": null
}
Transfers
Create a Transfer
POST
/
v2.01
/
{ClientId}
/
transfers
{
"ScaContext": "USER_PRESENT",
"AuthorId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 3001
},
"Fees": {
"Currency": "EUR",
"Amount": 0
},
"DebitedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1",
"CreditedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C",
"Tag": "Created using Mangopay API Postman Collection"
}
<?php
require_once 'vendor/autoload.php';
use MangoPay\MangoPayApi;
use MangoPay\Libraries\ResponseException as MGPResponseException;
use MangoPay\Libraries\Exception as MGPException;
$api = new MangoPayApi();
$api->Config->ClientId = 'your-client-id';
$api->Config->ClientPassword = 'your-api-key';
$api->Config->TemporaryFolder = 'tmp/';
try {
$transfer = new \MangoPay\Transfer();
$transfer->AuthorId = 'user_m_01JYEJ86451TKDK9BZAXRT4RTS';
$transfer->DebitedFunds = new \MangoPay\Money();
$transfer->DebitedFunds->Currency = 'EUR';
$transfer->DebitedFunds->Amount = 100;
$transfer->Fees = new \MangoPay\Money();
$transfer->Fees->Currency = 'EUR';
$transfer->Fees->Amount = 0;
$transfer->DebitedWalletId = 'wlt_m_01JYEJCS18438SEW2773PSNWCV';
$transfer->CreditedWalletId = 'wlt_m_01JY53GESY8V2HBV7EBD6J8FKX';
$transfer->ScaContext = 'USER_PRESENT';
$response = $api->Transfers->Create($transfer);
print_r($response);
} catch(MGPResponseException $e) {
print_r($e);
} catch(MGPException $e) {
print_r($e);
}
const mangopayInstance = require('mangopay4-nodejs-sdk')
const mangopay = new mangopayInstance({
clientId: 'your-client-id',
clientApiKey: 'your-api-key',
})
let myTransfer = {
ScaContext: "USER_PRESENT",
AuthorId: "user_m_01JYEJ86451TKDK9BZAXRT4RTS",
Tag: "Created using Mangopay NodeJS SDK",
DebitedFunds: {
Currency: "EUR",
Amount: 5000,
},
Fees: {
Currency: "EUR",
Amount: 0,
},
DebitedWalletId: "wlt_m_01JYEJCS18438SEW2773PSNWCV",
CreditedWalletId: "wlt_m_01JY53GESY8V2HBV7EBD6J8FKX",
};
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);
require 'mangopay'
MangoPay.configure do |client|
client.preproduction = true
client.client_id = 'your-mangopay-client-id'
client.client_apiKey = 'your-mangopay-api-key'
client.log_file = File.join(Dir.pwd, 'mangopay.log')
end
def createTransfer(transfer)
begin
response = MangoPay::Transfer.create(transfer)
puts response
return response
rescue MangoPay::ResponseError => error
puts "Failed to create Transfer: #{error.message}"
puts "Error details: #{error.details}"
return false
end
end
myTransfer = {
ScaContext: 'USER_PRESENT',
AuthorId: 'user_m_01JYEJ86451TKDK9BZAXRT4RTS',
DebitedWalletId: 'wlt_m_01JYEJCS18438SEW2773PSNWCV',
CreditedWalletId: 'wlt_m_01JY53GESY8V2HBV7EBD6J8FKX',
DebitedFunds: { Currency: 'EUR', Amount: 50001 },
Fees: { Currency: 'EUR', Amount: 0 },
Tag: 'Created using the Mangopay Ruby SDK'
}
createTransfer(myTransfer)
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);
}
}
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 NaturalUserSca, Wallet, Transfer
from mangopay.utils import Money
credited_natural_user_wallet = Wallet.get('wlt_m_01JY53GESY8V2HBV7EBD6J8FKX')
credited_natural_user = NaturalUserSca.get('user_m_01K88BVCEQ1JW91DEVN3AR6MT9')
debited_natural_user_wallet = Wallet.get('wlt_m_01JYEJCS18438SEW2773PSNWCV')
debited_natural_user = NaturalUserSca.get('user_m_01JYEJ86451TKDK9BZAXRT4RTS')
transfer = Transfer(
author=debited_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,
credited_user=credited_natural_user,
sca_context='USER_PRESENT',
)
create_transfer = transfer.save()
pprint(create_transfer)
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 = 50001, Currency = CurrencyIso.EUR },
new Money { Amount = 0, Currency = CurrencyIso.EUR },
debitedWalletId,
creditedWalletId
) {
Tag = "Created using the Mangopay .NET SDK"
ScaContext = "USER_PRESENT"
};
var createTransfer = await api.Transfers.CreateAsync(transfer);
string prettyPrint = JsonConvert.SerializeObject(createTransfer, Formatting.Indented);
Console.WriteLine(prettyPrint);
}
}
{
"ScaContext": "USER_PRESENT",
"Id": "xfer_c_01JRSHQFG2337DBQ4NS8XPYCK7",
"CreationDate": 1744614179,
"DebitedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1",
"CreditedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C",
"AuthorId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR",
"CreditedUserId": "user_m_01JRHSS3B18H86QA0C467RVK07",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 3001
},
"CreditedFunds": {
"Currency": "EUR",
"Amount": 3001
},
"Fees": {
"Currency": "EUR",
"Amount": 0
},
"Type": "TRANSFER",
"Nature": "REGULAR",
"Status": "CREATED",
"Tag": "Created using Mangopay API Postman Collection",
"ResultCode": null,
"ResultMessage": null,
"ExecutionDate": null,
"PendingUserAction": {
"RedirectUrl": "https://sca.sandbox.mangopay.com/?token=sca_0196331bc1247e3fa33be6f9c797abd7"
}
}
{
"ScaContext": "USER_PRESENT",
"Id": "xfer_c_01JRSHXFS5YX0HVCXZFQ4J2XMH",
"CreationDate": 1744614375,
"DebitedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C",
"CreditedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1",
"AuthorId": "user_m_01JRHSS3B18H86QA0C467RVK07",
"CreditedUserId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 1000
},
"CreditedFunds": {
"Currency": "EUR",
"Amount": 1000
},
"Fees": {
"Currency": "EUR",
"Amount": 0
},
"Type": "TRANSFER",
"Nature": "REGULAR",
"Status": "SUCCEEDED",
"Tag": "Created using Mangopay API Postman Collection",
"ResultCode": "000000",
"ResultMessage": "Success",
"ExecutionDate": 1744614375,
"PendingUserAction": null
}
Caution - ScaContext default value changingOn this endpoint, the default value for
ScaContext is changing to USER_PRESENT on Dec 15, 2025 (Dec 1 in Sandbox).From this date, if the PendingUserAction.RedirectUrl value is returned, then 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 endpointWhen 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.Body parameters
string
Possible values:
USER_PRESENT, USER_NOT_PRESENTThe 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.
UserCategory is OWNER, and the default value will become USER_PRESENT from Dec 15, 2025 (Dec 1 in Sandbox)string
required
The unique identifier of the user at the source of the transaction.
object
required
Information about the debited funds.
Show properties
Show properties
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 debited funds.
integer
required
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).object
required
Information about the fees taken by the platform for this transaction (and hence transferred to the Fees Wallet).
Show properties
Show properties
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 fees.
integer
required
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).string
required
The unique identifier of the credited wallet.
string
required
The unique identifier of the debited wallet.
string
Max. length: 255 charactersCustom data that you can add to this object.
Responses
200
200
string
Possible values:
USER_PRESENT, USER_NOT_PRESENTThe 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.
UserCategory is OWNER, and the default value will become USER_PRESENT from Dec 15, 2025 (Dec 1 in Sandbox)string
Max length: 128 characters (see data formats for details)The unique identifier of the object.
string
Max. length: 255 charactersCustom data that you can add to this object.
object
Information about the debited funds.
Show properties
Show properties
string
Returned 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 debited funds.
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).object
Information about the credited funds (
CreditedFunds = DebitedFunds - Fees).Show properties
Show properties
string
Returned 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.
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).object
Information about the fees taken by the platform for this transaction (and hence transferred to the Fees Wallet).
Show properties
Show properties
string
Returned 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.
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).string
Returned values:
CREATED, SUCCEEDED, FAILEDThe status of the transaction.string
The code indicating the result of the operation. This information is mostly used to handle errors or for filtering purposes.
string
The explanation of the result code.
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.string
Returned values:
PAYIN, TRANSFER, CONVERSION, PAYOUTThe type of the transaction.string
Returned values:
REGULAR, REPUDIATION, REFUND, SETTLEMENTThe 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.
string
The unique identifier of the debited wallet.
string
The unique identifier of the credited wallet.
object
Object containing the link needed for SCA redirection if triggered by the API call (otherwise returned
null).Hide properties
Hide properties
string
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.400 - Currency incompatibility
400 - Currency incompatibility
{
"Message": "Error: multi-currency usage is not authorized",
"Type": "currency_incompatibility",
"Id": "0c23333c-a0ef-468a-8d33-7bd7ced6e7d4#1661495038",
"Date": 1661495039.0,
"errors": {
"currency": "The Debited Wallet's currency EUR and the Credited Wallet's currency GBP must be the same"
}
}
400 - Author must be debited wallet owner
400 - Author must be debited wallet owner
{
"Message": "Author should be the Debited wallet owner",
"Type": "param_error",
"Id": "3cc18d56-5aab-4271-87aa-7baee84a78a0",
"Date": 1756456857.0,
"errors": null
}
{
"ScaContext": "USER_PRESENT",
"Id": "xfer_c_01JRSHQFG2337DBQ4NS8XPYCK7",
"CreationDate": 1744614179,
"DebitedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1",
"CreditedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C",
"AuthorId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR",
"CreditedUserId": "user_m_01JRHSS3B18H86QA0C467RVK07",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 3001
},
"CreditedFunds": {
"Currency": "EUR",
"Amount": 3001
},
"Fees": {
"Currency": "EUR",
"Amount": 0
},
"Type": "TRANSFER",
"Nature": "REGULAR",
"Status": "CREATED",
"Tag": "Created using Mangopay API Postman Collection",
"ResultCode": null,
"ResultMessage": null,
"ExecutionDate": null,
"PendingUserAction": {
"RedirectUrl": "https://sca.sandbox.mangopay.com/?token=sca_0196331bc1247e3fa33be6f9c797abd7"
}
}
{
"ScaContext": "USER_PRESENT",
"Id": "xfer_c_01JRSHXFS5YX0HVCXZFQ4J2XMH",
"CreationDate": 1744614375,
"DebitedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C",
"CreditedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1",
"AuthorId": "user_m_01JRHSS3B18H86QA0C467RVK07",
"CreditedUserId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 1000
},
"CreditedFunds": {
"Currency": "EUR",
"Amount": 1000
},
"Fees": {
"Currency": "EUR",
"Amount": 0
},
"Type": "TRANSFER",
"Nature": "REGULAR",
"Status": "SUCCEEDED",
"Tag": "Created using Mangopay API Postman Collection",
"ResultCode": "000000",
"ResultMessage": "Success",
"ExecutionDate": 1744614375,
"PendingUserAction": null
}
{
"ScaContext": "USER_PRESENT",
"AuthorId": "user_m_01JRJM5RR5NYQDN0S6QWJJDRMR",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 3001
},
"Fees": {
"Currency": "EUR",
"Amount": 0
},
"DebitedWalletId": "wlt_m_01JRJM7ASZN7YP4MBDVBT0HZF1",
"CreditedWalletId": "wlt_m_01JRHSTW2NP4MDB45WQMDNS23C",
"Tag": "Created using Mangopay API Postman Collection"
}
<?php
require_once 'vendor/autoload.php';
use MangoPay\MangoPayApi;
use MangoPay\Libraries\ResponseException as MGPResponseException;
use MangoPay\Libraries\Exception as MGPException;
$api = new MangoPayApi();
$api->Config->ClientId = 'your-client-id';
$api->Config->ClientPassword = 'your-api-key';
$api->Config->TemporaryFolder = 'tmp/';
try {
$transfer = new \MangoPay\Transfer();
$transfer->AuthorId = 'user_m_01JYEJ86451TKDK9BZAXRT4RTS';
$transfer->DebitedFunds = new \MangoPay\Money();
$transfer->DebitedFunds->Currency = 'EUR';
$transfer->DebitedFunds->Amount = 100;
$transfer->Fees = new \MangoPay\Money();
$transfer->Fees->Currency = 'EUR';
$transfer->Fees->Amount = 0;
$transfer->DebitedWalletId = 'wlt_m_01JYEJCS18438SEW2773PSNWCV';
$transfer->CreditedWalletId = 'wlt_m_01JY53GESY8V2HBV7EBD6J8FKX';
$transfer->ScaContext = 'USER_PRESENT';
$response = $api->Transfers->Create($transfer);
print_r($response);
} catch(MGPResponseException $e) {
print_r($e);
} catch(MGPException $e) {
print_r($e);
}
const mangopayInstance = require('mangopay4-nodejs-sdk')
const mangopay = new mangopayInstance({
clientId: 'your-client-id',
clientApiKey: 'your-api-key',
})
let myTransfer = {
ScaContext: "USER_PRESENT",
AuthorId: "user_m_01JYEJ86451TKDK9BZAXRT4RTS",
Tag: "Created using Mangopay NodeJS SDK",
DebitedFunds: {
Currency: "EUR",
Amount: 5000,
},
Fees: {
Currency: "EUR",
Amount: 0,
},
DebitedWalletId: "wlt_m_01JYEJCS18438SEW2773PSNWCV",
CreditedWalletId: "wlt_m_01JY53GESY8V2HBV7EBD6J8FKX",
};
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);
require 'mangopay'
MangoPay.configure do |client|
client.preproduction = true
client.client_id = 'your-mangopay-client-id'
client.client_apiKey = 'your-mangopay-api-key'
client.log_file = File.join(Dir.pwd, 'mangopay.log')
end
def createTransfer(transfer)
begin
response = MangoPay::Transfer.create(transfer)
puts response
return response
rescue MangoPay::ResponseError => error
puts "Failed to create Transfer: #{error.message}"
puts "Error details: #{error.details}"
return false
end
end
myTransfer = {
ScaContext: 'USER_PRESENT',
AuthorId: 'user_m_01JYEJ86451TKDK9BZAXRT4RTS',
DebitedWalletId: 'wlt_m_01JYEJCS18438SEW2773PSNWCV',
CreditedWalletId: 'wlt_m_01JY53GESY8V2HBV7EBD6J8FKX',
DebitedFunds: { Currency: 'EUR', Amount: 50001 },
Fees: { Currency: 'EUR', Amount: 0 },
Tag: 'Created using the Mangopay Ruby SDK'
}
createTransfer(myTransfer)
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);
}
}
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 NaturalUserSca, Wallet, Transfer
from mangopay.utils import Money
credited_natural_user_wallet = Wallet.get('wlt_m_01JY53GESY8V2HBV7EBD6J8FKX')
credited_natural_user = NaturalUserSca.get('user_m_01K88BVCEQ1JW91DEVN3AR6MT9')
debited_natural_user_wallet = Wallet.get('wlt_m_01JYEJCS18438SEW2773PSNWCV')
debited_natural_user = NaturalUserSca.get('user_m_01JYEJ86451TKDK9BZAXRT4RTS')
transfer = Transfer(
author=debited_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,
credited_user=credited_natural_user,
sca_context='USER_PRESENT',
)
create_transfer = transfer.save()
pprint(create_transfer)
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 = 50001, Currency = CurrencyIso.EUR },
new Money { Amount = 0, Currency = CurrencyIso.EUR },
debitedWalletId,
creditedWalletId
) {
Tag = "Created using the Mangopay .NET SDK"
ScaContext = "USER_PRESENT"
};
var createTransfer = await api.Transfers.CreateAsync(transfer);
string prettyPrint = JsonConvert.SerializeObject(createTransfer, Formatting.Indented);
Console.WriteLine(prettyPrint);
}
}
Was this page helpful?