{
"Tag": "Created using the Mangopay API Postman collection",
"AuthorId": "user_m_01HS10X7WCFSVMAZTBVYY0HPXF",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 1500
},
"Fees": {
"Currency": "EUR",
"Amount": 300
},
"CreditedWalletId": "wlt_m_01HS10XBZQHDWSX10WW6RTMRA6",
"ReturnURL": "http://www.mangopay.com/docs/please-ignore",
"CancelURL": "http://www.example.com/",
"StatementDescriptor": "MGP",
"Shipping": {
"FirstName": "Alex",
"LastName": "Smith",
"Address": {
"AddressLine1": "6 rue de la Cité",
"AddressLine2": "Appartement 3",
"City": "Paris",
"Region": "île-de-france",
"PostalCode": "75003",
"Country": "FR"
}
},
"LineItems": [
{
"Name": "Running shoes",
"Quantity": 2,
"UnitAmount": 400,
"TaxAmount": 100,
"Description": "ID of Seller 1",
"Category": "PHYSICAL_GOODS"
},
{
"Name": "Walking shoes",
"Quantity": 1,
"UnitAmount": 400,
"TaxAmount": 100,
"Description": "ID of Seller 2",
"Category": "PHYSICAL_GOODS"
}
],
"Culture": "FR",
"ShippingPreference": "SET_PROVIDED_ADDRESS",
"Reference": "1234"
}
const mangopayInstance = require('mangopay4-nodejs-sdk');
const mangopay = new mangopayInstance({
clientId: "your-client-id",
clientApiKey: "your-api-key"
})
let myPayIn = {
PaymentType: 'PAYPAL',
ExecutionType: 'WEB',
AuthorId: 'user_m_01J84RCFJ0Q9RVQZ13618FSNWN',
DebitedFunds: {
Currency: 'EUR',
Amount: 1000,
},
Fees: {
Currency: 'EUR',
Amount: 0,
},
CreditedWalletId: 'wlt_m_01HWAR863HPA3FAVEXA9J6JSYD',
ReturnURL: 'http://example.com',
StatementDescriptor: "MGP24",
Shipping: {
FirstName: 'Alex',
LastName: 'Smith',
Address: {
AddressLine1: 'Rue des plantes',
AddressLine2: 'The Oasis',
City: 'Paris',
Region: 'Île-de-France',
PostalCode: '75000',
Country: 'FR',
},
},
LineItems: [
{
Name: "running shoes",
Quantity: 1,
UnitAmount: 500,
TaxAmount: 0,
Description: "Red"
},
{
Name: "running shoes",
Quantity: 1,
UnitAmount: 500,
TaxAmount: 0,
Description: "Black"
}
],
ShippingPreference: "SET_PROVIDED_ADDRESS",
Reference: "Ref24",
Tag: 'Created with Mangopay NodeJS SDK'
}
const createPayPalPayIn = async (payin) => {
return await mangopay.PayIns.createPayPal(payin)
.then((response) => {
console.info(response)
return response
})
.catch((err) => {
console.log(err)
return false
})
}
createPayPalPayIn(myPayIn)
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.mangopay.MangoPayApi;
import com.mangopay.core.Address;
import com.mangopay.core.LineItem;
import com.mangopay.core.Money;
import com.mangopay.core.Shipping;
import com.mangopay.core.enumerations.CountryIso;
import com.mangopay.core.enumerations.CultureCode;
import com.mangopay.core.enumerations.CurrencyIso;
import com.mangopay.core.enumerations.ShippingPreference;
import com.mangopay.entities.PayIn;
import com.mangopay.entities.subentities.PayInExecutionDetailsWeb;
import com.mangopay.entities.subentities.PayInPaymentDetailsPayPal;
import java.util.List;
import java.util.ArrayList;
public class CreatePaypalPayin {
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 userId = "user_m_01HT2NFK7Z2BRQNGNHMY30VVTT";
var walletId = "wlt_m_01HTHTXEF4BJCTKMXNWMSZ6KP5";
Address address = new Address();
address.setAddressLine1("2795 Edgewood Road");
address.setCity("Little Rock");
address.setRegion("Arkansas");
address.setPostalCode("72212");
address.setCountry(CountryIso.FR);
PayIn payIn = new PayIn();
payIn.setAuthorId(userId);
payIn.setDebitedFunds(new Money());
payIn.getDebitedFunds().setAmount(1000);
payIn.getDebitedFunds().setCurrency(CurrencyIso.EUR);
payIn.setFees(new Money());
payIn.getFees().setAmount(5);
payIn.getFees().setCurrency(CurrencyIso.EUR);
payIn.setCreditedWalletId(walletId);
PayInPaymentDetailsPayPal paymentDetails = new PayInPaymentDetailsPayPal();
paymentDetails.setShipping(new Shipping());
paymentDetails.getShipping().setFirstName("Alessandra");
paymentDetails.getShipping().setLastName("Wilderman");
paymentDetails.getShipping().setAddress(address);
List<LineItem> lineItems = new ArrayList<>();
lineItems.add(new LineItem(
"Item 1",
1,
1000,
0,
"Item description"
)
.setCategory("PHYSICAL_GOODS"));
paymentDetails.setLineItems(lineItems);
paymentDetails.setShippingPreference(ShippingPreference.GET_FROM_FILE);
paymentDetails.setReference("Reference");
paymentDetails.setStatementDescriptor("Jul2024");
payIn.setPaymentDetails(paymentDetails);
PayInExecutionDetailsWeb executionDetails = new PayInExecutionDetailsWeb();
executionDetails.setReturnUrl("http://mangopay.com");
executionDetails.setCulture(CultureCode.FR);
payIn.setExecutionDetails(executionDetails);
payIn.setTag("Create using the Mangopay Java SDK");
PayIn createPaypalPayin = mangopay.getPayInApi().createPayPal(payIn);
Gson prettyPrint = new GsonBuilder().setPrettyPrinting().create();
String prettyJson = prettyPrint.toJson(createPaypalPayin);
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 NaturalUser, PayPalWebPayIn
from mangopay.utils import Money, LineItem, Shipping, Address
natural_user = NaturalUser.get('210513027')
paypal_payin = PayPalWebPayIn(
author_id = natural_user.id,
credited_wallet_id = '210514820',
debited_funds = Money(amount=1500, currency='EUR'),
fees = Money(amount=300, currency='EUR'),
culture = 'FR',
return_url = 'https://www.mangopay.com/docs/please-ignore',
line_items = [
LineItem(
name = 'Running shoes',
quantity=1,
unit_amount=400,
tax_amount=100,
description='ID of Seller 1'),
LineItem(
name = 'Walking shoes',
quantity=2,
unit_amount=400,
tax_amount=100,
description='ID of Seller 2')
],
shipping = Shipping(
first_name = natural_user.first_name,
last_name = natural_user.last_name,
address = Address(
address_line_1 = natural_user.address.address_line_1,
address_line_2 = natural_user.address.address_line_2,
city = natural_user.address.city,
region = natural_user.address.region,
postal_code = natural_user.address.postal_code,
country = natural_user.address.country,
)
),
shipping_preference = 'SET_PROVIDED_ADDRESS',
reference = '1234',
statement_descriptor = 'MGP',
tag = 'Created using the Mangopay Python SDK'
)
create_paypal_payin = paypal_payin.save()
pprint(create_paypal_payin)
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 walletId = "wlt_m_01J30991BXBB7VF28PBS82EWD3";
var returnUrl = "https://www.mangopay.com/docs/please-ignore/";
List<LineItem> lineItems = new List<LineItem>()
{
new LineItem {
Name = "running shoes",
Quantity = 2,
UnitAmount = 500,
TaxAmount = 0,
Description = "seller ID"
}
};
Shipping shipping = new Shipping
{
Address = new Address {
AddressLine1 = "Address line 1",
AddressLine2 = "Address line 2",
City = "City",
Country = CountryIso.FR,
PostalCode = "11222",
Region = "Region"
},
FirstName = "Dolly",
LastName = "Nelson"
};
var payIn = new PayInPayPalWebPostDTO(userId,
new Money { Amount = 1000, Currency = CurrencyIso.EUR },
new Money { Amount = 0, Currency = CurrencyIso.EUR },
walletId, returnUrl,
lineItems, shipping,
"MGP", CultureCode.FR,
ShippingPreference.SET_PROVIDED_ADDRESS,
"3214"
) {
Tag = "Created using the Mangopay .NET SDK"
};
var createPayPalPayIn = await api.PayIns.CreatePayPalWebAsync(payIn);
string prettyPrint = JsonConvert.SerializeObject(createPayPalPayIn, Formatting.Indented);
Console.WriteLine(prettyPrint);
}
}
{
"Id": "wt_f79a219d-c952-41a0-9bc4-e575f8f1ef7a",
"Tag": "Created using the Mangopay API Postman collection",
"CreationDate": 1711032499,
"AuthorId": "user_m_01HS10X7WCFSVMAZTBVYY0HPXF",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 1500
},
"CreditedFunds": {
"Currency": "EUR",
"Amount": 1200
},
"Fees": {
"Currency": "EUR",
"Amount": 300
},
"Status": "CREATED",
"ResultCode": null,
"ResultMessage": null,
"ExecutionDate": null,
"Type": "PAYIN",
"Nature": "REGULAR",
"CreditedWalletId": "wlt_m_01HS10XBZQHDWSX10WW6RTMRA6",
"CreditedUserId": "user_m_01HS10X7WCFSVMAZTBVYY0HPXF",
"PaymentType": "PAYPAL",
"ExecutionType": "WEB",
"ReturnURL": "http://www.mangopay.com/docs/please-ignore?transactionId=wt_f79a219d-c952-41a0-9bc4-e575f8f1ef7a",
"RedirectURL": "https://www.sandbox.paypal.com/checkoutnow?token=6MH08891XC585490F",
"StatementDescriptor": "Mangopay",
"Shipping": {
"FirstName": "Alex",
"LastName": "Smith",
"Address": {
"AddressLine1": "6 rue de la Cité",
"AddressLine2": "Appartement 3",
"City": "Paris",
"Region": "île-de-france",
"PostalCode": "75003",
"Country": "FR"
}
},
"LineItems": [
{
"Name": "Running shoes",
"Quantity": 2,
"UnitAmount": 400,
"TaxAmount": 100,
"Description": "ID of Seller 1",
"Category": "PHYSICAL_GOODS"
},
{
"Name": "Walking shoes",
"Quantity": 1,
"UnitAmount": 400,
"TaxAmount": 100,
"Description": "ID of Seller 2",
"Category": "PHYSICAL_GOODS"
}
],
"Culture": "FR",
"ShippingPreference": "SET_PROVIDED_ADDRESS",
"PaypalBuyerAccountEmail": null,
"Reference": "1234",
"Trackings": null,
"CancelURL": "http://www.example.com/?transactionId=wt_f79a219d-c952-41a0-9bc4-e575f8f1ef7a",
"PaypalPayerID": null,
"BuyerCountry": null,
"BuyerFirstname": null,
"BuyerLastname": null,
"BuyerPhone": null,
"PaypalOrderID": "6MH08891XC585490F"
}
One-time payment
Create a PayPal PayIn
POST
/
v2.01
/
{ClientId}
/
payins
/
payment-methods
/
paypal
{
"Tag": "Created using the Mangopay API Postman collection",
"AuthorId": "user_m_01HS10X7WCFSVMAZTBVYY0HPXF",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 1500
},
"Fees": {
"Currency": "EUR",
"Amount": 300
},
"CreditedWalletId": "wlt_m_01HS10XBZQHDWSX10WW6RTMRA6",
"ReturnURL": "http://www.mangopay.com/docs/please-ignore",
"CancelURL": "http://www.example.com/",
"StatementDescriptor": "MGP",
"Shipping": {
"FirstName": "Alex",
"LastName": "Smith",
"Address": {
"AddressLine1": "6 rue de la Cité",
"AddressLine2": "Appartement 3",
"City": "Paris",
"Region": "île-de-france",
"PostalCode": "75003",
"Country": "FR"
}
},
"LineItems": [
{
"Name": "Running shoes",
"Quantity": 2,
"UnitAmount": 400,
"TaxAmount": 100,
"Description": "ID of Seller 1",
"Category": "PHYSICAL_GOODS"
},
{
"Name": "Walking shoes",
"Quantity": 1,
"UnitAmount": 400,
"TaxAmount": 100,
"Description": "ID of Seller 2",
"Category": "PHYSICAL_GOODS"
}
],
"Culture": "FR",
"ShippingPreference": "SET_PROVIDED_ADDRESS",
"Reference": "1234"
}
const mangopayInstance = require('mangopay4-nodejs-sdk');
const mangopay = new mangopayInstance({
clientId: "your-client-id",
clientApiKey: "your-api-key"
})
let myPayIn = {
PaymentType: 'PAYPAL',
ExecutionType: 'WEB',
AuthorId: 'user_m_01J84RCFJ0Q9RVQZ13618FSNWN',
DebitedFunds: {
Currency: 'EUR',
Amount: 1000,
},
Fees: {
Currency: 'EUR',
Amount: 0,
},
CreditedWalletId: 'wlt_m_01HWAR863HPA3FAVEXA9J6JSYD',
ReturnURL: 'http://example.com',
StatementDescriptor: "MGP24",
Shipping: {
FirstName: 'Alex',
LastName: 'Smith',
Address: {
AddressLine1: 'Rue des plantes',
AddressLine2: 'The Oasis',
City: 'Paris',
Region: 'Île-de-France',
PostalCode: '75000',
Country: 'FR',
},
},
LineItems: [
{
Name: "running shoes",
Quantity: 1,
UnitAmount: 500,
TaxAmount: 0,
Description: "Red"
},
{
Name: "running shoes",
Quantity: 1,
UnitAmount: 500,
TaxAmount: 0,
Description: "Black"
}
],
ShippingPreference: "SET_PROVIDED_ADDRESS",
Reference: "Ref24",
Tag: 'Created with Mangopay NodeJS SDK'
}
const createPayPalPayIn = async (payin) => {
return await mangopay.PayIns.createPayPal(payin)
.then((response) => {
console.info(response)
return response
})
.catch((err) => {
console.log(err)
return false
})
}
createPayPalPayIn(myPayIn)
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.mangopay.MangoPayApi;
import com.mangopay.core.Address;
import com.mangopay.core.LineItem;
import com.mangopay.core.Money;
import com.mangopay.core.Shipping;
import com.mangopay.core.enumerations.CountryIso;
import com.mangopay.core.enumerations.CultureCode;
import com.mangopay.core.enumerations.CurrencyIso;
import com.mangopay.core.enumerations.ShippingPreference;
import com.mangopay.entities.PayIn;
import com.mangopay.entities.subentities.PayInExecutionDetailsWeb;
import com.mangopay.entities.subentities.PayInPaymentDetailsPayPal;
import java.util.List;
import java.util.ArrayList;
public class CreatePaypalPayin {
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 userId = "user_m_01HT2NFK7Z2BRQNGNHMY30VVTT";
var walletId = "wlt_m_01HTHTXEF4BJCTKMXNWMSZ6KP5";
Address address = new Address();
address.setAddressLine1("2795 Edgewood Road");
address.setCity("Little Rock");
address.setRegion("Arkansas");
address.setPostalCode("72212");
address.setCountry(CountryIso.FR);
PayIn payIn = new PayIn();
payIn.setAuthorId(userId);
payIn.setDebitedFunds(new Money());
payIn.getDebitedFunds().setAmount(1000);
payIn.getDebitedFunds().setCurrency(CurrencyIso.EUR);
payIn.setFees(new Money());
payIn.getFees().setAmount(5);
payIn.getFees().setCurrency(CurrencyIso.EUR);
payIn.setCreditedWalletId(walletId);
PayInPaymentDetailsPayPal paymentDetails = new PayInPaymentDetailsPayPal();
paymentDetails.setShipping(new Shipping());
paymentDetails.getShipping().setFirstName("Alessandra");
paymentDetails.getShipping().setLastName("Wilderman");
paymentDetails.getShipping().setAddress(address);
List<LineItem> lineItems = new ArrayList<>();
lineItems.add(new LineItem(
"Item 1",
1,
1000,
0,
"Item description"
)
.setCategory("PHYSICAL_GOODS"));
paymentDetails.setLineItems(lineItems);
paymentDetails.setShippingPreference(ShippingPreference.GET_FROM_FILE);
paymentDetails.setReference("Reference");
paymentDetails.setStatementDescriptor("Jul2024");
payIn.setPaymentDetails(paymentDetails);
PayInExecutionDetailsWeb executionDetails = new PayInExecutionDetailsWeb();
executionDetails.setReturnUrl("http://mangopay.com");
executionDetails.setCulture(CultureCode.FR);
payIn.setExecutionDetails(executionDetails);
payIn.setTag("Create using the Mangopay Java SDK");
PayIn createPaypalPayin = mangopay.getPayInApi().createPayPal(payIn);
Gson prettyPrint = new GsonBuilder().setPrettyPrinting().create();
String prettyJson = prettyPrint.toJson(createPaypalPayin);
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 NaturalUser, PayPalWebPayIn
from mangopay.utils import Money, LineItem, Shipping, Address
natural_user = NaturalUser.get('210513027')
paypal_payin = PayPalWebPayIn(
author_id = natural_user.id,
credited_wallet_id = '210514820',
debited_funds = Money(amount=1500, currency='EUR'),
fees = Money(amount=300, currency='EUR'),
culture = 'FR',
return_url = 'https://www.mangopay.com/docs/please-ignore',
line_items = [
LineItem(
name = 'Running shoes',
quantity=1,
unit_amount=400,
tax_amount=100,
description='ID of Seller 1'),
LineItem(
name = 'Walking shoes',
quantity=2,
unit_amount=400,
tax_amount=100,
description='ID of Seller 2')
],
shipping = Shipping(
first_name = natural_user.first_name,
last_name = natural_user.last_name,
address = Address(
address_line_1 = natural_user.address.address_line_1,
address_line_2 = natural_user.address.address_line_2,
city = natural_user.address.city,
region = natural_user.address.region,
postal_code = natural_user.address.postal_code,
country = natural_user.address.country,
)
),
shipping_preference = 'SET_PROVIDED_ADDRESS',
reference = '1234',
statement_descriptor = 'MGP',
tag = 'Created using the Mangopay Python SDK'
)
create_paypal_payin = paypal_payin.save()
pprint(create_paypal_payin)
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 walletId = "wlt_m_01J30991BXBB7VF28PBS82EWD3";
var returnUrl = "https://www.mangopay.com/docs/please-ignore/";
List<LineItem> lineItems = new List<LineItem>()
{
new LineItem {
Name = "running shoes",
Quantity = 2,
UnitAmount = 500,
TaxAmount = 0,
Description = "seller ID"
}
};
Shipping shipping = new Shipping
{
Address = new Address {
AddressLine1 = "Address line 1",
AddressLine2 = "Address line 2",
City = "City",
Country = CountryIso.FR,
PostalCode = "11222",
Region = "Region"
},
FirstName = "Dolly",
LastName = "Nelson"
};
var payIn = new PayInPayPalWebPostDTO(userId,
new Money { Amount = 1000, Currency = CurrencyIso.EUR },
new Money { Amount = 0, Currency = CurrencyIso.EUR },
walletId, returnUrl,
lineItems, shipping,
"MGP", CultureCode.FR,
ShippingPreference.SET_PROVIDED_ADDRESS,
"3214"
) {
Tag = "Created using the Mangopay .NET SDK"
};
var createPayPalPayIn = await api.PayIns.CreatePayPalWebAsync(payIn);
string prettyPrint = JsonConvert.SerializeObject(createPayPalPayIn, Formatting.Indented);
Console.WriteLine(prettyPrint);
}
}
{
"Id": "wt_f79a219d-c952-41a0-9bc4-e575f8f1ef7a",
"Tag": "Created using the Mangopay API Postman collection",
"CreationDate": 1711032499,
"AuthorId": "user_m_01HS10X7WCFSVMAZTBVYY0HPXF",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 1500
},
"CreditedFunds": {
"Currency": "EUR",
"Amount": 1200
},
"Fees": {
"Currency": "EUR",
"Amount": 300
},
"Status": "CREATED",
"ResultCode": null,
"ResultMessage": null,
"ExecutionDate": null,
"Type": "PAYIN",
"Nature": "REGULAR",
"CreditedWalletId": "wlt_m_01HS10XBZQHDWSX10WW6RTMRA6",
"CreditedUserId": "user_m_01HS10X7WCFSVMAZTBVYY0HPXF",
"PaymentType": "PAYPAL",
"ExecutionType": "WEB",
"ReturnURL": "http://www.mangopay.com/docs/please-ignore?transactionId=wt_f79a219d-c952-41a0-9bc4-e575f8f1ef7a",
"RedirectURL": "https://www.sandbox.paypal.com/checkoutnow?token=6MH08891XC585490F",
"StatementDescriptor": "Mangopay",
"Shipping": {
"FirstName": "Alex",
"LastName": "Smith",
"Address": {
"AddressLine1": "6 rue de la Cité",
"AddressLine2": "Appartement 3",
"City": "Paris",
"Region": "île-de-france",
"PostalCode": "75003",
"Country": "FR"
}
},
"LineItems": [
{
"Name": "Running shoes",
"Quantity": 2,
"UnitAmount": 400,
"TaxAmount": 100,
"Description": "ID of Seller 1",
"Category": "PHYSICAL_GOODS"
},
{
"Name": "Walking shoes",
"Quantity": 1,
"UnitAmount": 400,
"TaxAmount": 100,
"Description": "ID of Seller 2",
"Category": "PHYSICAL_GOODS"
}
],
"Culture": "FR",
"ShippingPreference": "SET_PROVIDED_ADDRESS",
"PaypalBuyerAccountEmail": null,
"Reference": "1234",
"Trackings": null,
"CancelURL": "http://www.example.com/?transactionId=wt_f79a219d-c952-41a0-9bc4-e575f8f1ef7a",
"PaypalPayerID": null,
"BuyerCountry": null,
"BuyerFirstname": null,
"BuyerLastname": null,
"BuyerPhone": null,
"PaypalOrderID": "6MH08891XC585490F"
}
Body parameters
string
Max. length: 255 charactersCustom 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.
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.
string
required
The unique identifier of the user at the source of the transaction.
object
required
Information about the debited funds. The amount must be equal to the total of all
UnitAmount and TaxAmount of all LineItems.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 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.
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
Max. length: 255 charactersThe URL to which the user is returned after the payment, whether the transaction is successful or not.
string
Max. length: 10 characters; only alphanumeric and spacesCustom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the Customizing bank statement references article for details.
object
Required if
ShippingPreference is SET_PROVIDED_ADDRESS.Information about the end user’s shipping address, managed by ShippingPreference.Show properties
Show properties
string
The first name of the user.
string
Max. length: 100 charactersThe last name of the user.
object
required
Information about the shipping address.
Show properties
Show properties
string
required
Max. length: 255 charactersThe first line of the address.
string
Max. length: 255 charactersThe second line of the address.
string
required
Max. length: 255 charactersThe city of the address.
string
Max. length: 255 charactersRequired if
Country is US, CA, or MX.The region of the address.string
required
Max. length: 255 charactersThe postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.
string
required
Format: Two-letter country code (ISO 3166-1 alpha-2 format)The country of the address.
array
required
objectInformation about the items purchased in the transaction. The total of all line items’
UnitAmount and TaxAmount must equal the DebitedFunds amount (negative amounts not allowed).Show properties
Show properties
string
required
Max. length: 127 characters (truncated after)The name of the item.
integer
required
The quantity of the item.
integer
required
The cost of the item, excluding tax.
integer
The tax amount applied to the item.
string
required
Max. length: 127 characters (truncated after)The platform’s unique reference for the seller. This value must be consistently used for the given seller. You can use, for example, the Mangopay
Caution: Failure to use a unique seller identifier may result in PayPal restricting your service.
UserId or the seller’s business name or first name and last name.Caution: Failure to use a unique seller identifier may result in PayPal restricting your service.
string
Allowed values: PHYSICAL_GOODS, DIGITAL_GOODS, DONATIONThe category of the item:
PHYSICAL_GOODS– Tangible items that can be physically shipped and received with proof of delivery upon arrival.DIGITAL_GOODS– Products or services that are distributed and consumed via digital platforms or devices.DONATION– Voluntary contribution made without any goods or services received in return. Multiple line items can be categorized asDONATIONwithin a single transaction, however it is not possible to combineDONATIONother line item categories within the same transaction.
string
Allowed values: One of the supported languages in the ISO 639-1 format: AT, BR, CA, CH, CN, DE, DK, ES, FR, GB, ID, IL, IT, JK, JP, NL, NO, PL, PT, RU, SE, TH, TR, TW, US.The language in which the PayPal payment page is to be displayed.
string
Allowed values:
SET_PROVIDED_ADDRESS, GET_FROM_FILE, NO_SHIPPINGInformation about the shipping address behavior on the PayPal payment page:SET_PROVIDED_ADDRESS- TheShippingparameter becomes required and its values are displayed to the end user, who is not able to modify them.GET_FROM_FILE– TheShippingparameter is ignored and the end user can choose from registered addresses.NO_SHIPPING– No shipping address section is displayed.
string
Max. length: 127 characters (truncated after)The platform’s order reference for the transaction.
string
The URL to which the user is returned after canceling the payment. If not provided, the Cancel button returns the user to the
RedirectURL.string
The unique reference generated for the profiling session, used by the fraud prevention solution to produce recommendations for the transaction using the profiling data.Note: Parameter not returned by the API. Profiling feature available on request – contact Mangopay via the Dashboard for more information.
string
The unique identifier of the Data Collection object containing the data sent for this pay-in via the POST Submit data for a PayPal PayIn endpoint.Each PayPal pay-in or preauth requires a new
DataCollectionId. The property is not returned on the pay-in endpoints.Responses
200 - Created
200 - Created
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.
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.
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.
Unix timestamp
The date and time at which the object was created.
string
The unique identifier of the user at the source of the transaction.
object
Information about the debited funds. The amount must be equal to the total of all
UnitAmount and TaxAmount of all LineItems.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 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 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.
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 credited wallet.
string
Returned values:
PAYPALThe type of pay-in.string
Returned values:
WEB, DIRECT, EXTERNAL_INSTRUCTIONThe type of execution for the pay-in.string
Max. length: 255 charactersThe URL to which the user is returned after the payment, whether the transaction is successful or not.
string
The URL to which to redirect the user to complete the payment.Caution: This variable URL is specific to each payment. You must rely on the returned URL in full (host, path, and queries) and not hardcode any part of it.
string
Max. length: 10 characters; only alphanumeric and spacesCustom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the Customizing bank statement references article for details.
object
Information about the end user’s shipping address, managed by
ShippingPreference.Show properties
Show properties
string
The first name of the user.
string
Max. length: 100 charactersThe last name of the user.
object
Information about the shipping address.
Show properties
Show properties
string
Max. length: 255 charactersThe first line of the address.
string
Max. length: 255 charactersThe second line of the address.
string
Max. length: 255 charactersThe city of the address.
string
Max. length: 255 charactersThe region of the address. This field is optional except if the
Country is US, CA, or MX.string
Max. length: 255 charactersThe postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.
string
Format: Two-letter country code (ISO 3166-1 alpha-2 format)The country of the address.
array
objectInformation about the items purchased in the transaction. The total of all line items’
UnitAmount and TaxAmount must equal the DebitedFunds amount (negative amounts not allowed).Show properties
Show properties
string
Max. length: 127 characters (truncated after)The name of the item.
integer
The quantity of the item.
integer
The cost of the item, excluding tax.
integer
The tax amount applied to the item.
string
Max. length: 127 characters (truncated after)The platform’s unique reference for the seller. This value must be consistently used for the given seller. You can use, for example, the Mangopay
Caution: Failure to use a unique seller identifier may result in PayPal restricting your service.
UserId or the seller’s business name or first name and last name.Caution: Failure to use a unique seller identifier may result in PayPal restricting your service.
string
Allowed values: PHYSICAL_GOODS, DIGITAL_GOODS, DONATIONThe category of the item:
PHYSICAL_GOODS– Tangible items that can be physically shipped and received with proof of delivery upon arrival.DIGITAL_GOODS– Products or services that are distributed and consumed via digital platforms or devices.DONATION– Voluntary contribution made without any goods or services received in return. Multiple line items can be categorized asDONATIONwithin a single transaction, however it is not possible to combineDONATIONother line item categories within the same transaction.
string
Returned values: One of the supported languages in the ISO 639-1 format: AT, BR, CA, CH, CN, DE, DK, ES, FR, GB, ID, IL, IT, JK, JP, NL, NO, PL, PT, RU, SE, TH, TR, TW, US.The language in which the PayPal payment page is to be displayed.
string
Returned values:
SET_PROVIDED_ADDRESS, GET_FROM_FILE, NO_SHIPPINGInformation about the shipping address behavior on the PayPal payment page:SET_PROVIDED_ADDRESS- TheShippingparameter becomes required and its values are displayed to the end user, who is not able to modify them.GET_FROM_FILE– TheShippingparameter is ignored and the end user can choose from registered addresses.NO_SHIPPING– No shipping address section is displayed.
string
The email address registered on the PayPal account used to make the payment.
string
Max. length: 127 characters (truncated after)The platform’s order reference for the transaction.
array (object)
Shipping information of the
LineItems added to the pay-in object.Show properties
Show properties
string
The shipment’s tracking number provided by the carrier.
string
The carrier for the shipment. Use the country-specific version of the carrier if it exists, otherwise use its global version.
string
Default value: falseIf
true, sends an email notification to the PaypalBuyerAccountEmail containing the TrackingNumber and Carrier, which allows the end user to track their shipment with the carrier.string
The URL to which the user is returned after canceling the payment. If not provided, the Cancel button returns the user to the RedirectURL.
string
PayPal’s unique identifier for the order.
string
The country of the buyer.
string
The first name of the buyer.
string
The mobile phone number of the buyer.
string
The last name of the buyer.
string
The PayPal identifier of the buyer.
400 - Shipping required if ShippingPreference is SET_PROVIDED_ADDRESS
400 - Shipping required if ShippingPreference is SET_PROVIDED_ADDRESS
{
"message": "One or several required parameters are missing or incorrect. An incorrect resource ID also raises this kind of error.",
"id": "ec5265c3-4c41-47fe-a7f5-5f6bfc6cc34c",
"date": 1694613912,
"type": "param_error",
"errors": {
"shipping": "The shipping address is required when `ShippingPreference=SET_PROVIDED_ADDRESS`"
}
}
400 - DebitedFunds amount must equal LineItems total
400 - DebitedFunds amount must equal LineItems total
{
"message": "One or several required parameters are missing or incorrect. An incorrect resource ID also raises this kind of error.",
"id": "58bf1a12-65e0-4298-a1cb-62dc800bcf84",
"date": 1699366251,
"type": "param_error",
"errors": {
"debitedAmount": "DebitedAmount has to be equal to the total amount of all the line items."
}
}
{
"Id": "wt_f79a219d-c952-41a0-9bc4-e575f8f1ef7a",
"Tag": "Created using the Mangopay API Postman collection",
"CreationDate": 1711032499,
"AuthorId": "user_m_01HS10X7WCFSVMAZTBVYY0HPXF",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 1500
},
"CreditedFunds": {
"Currency": "EUR",
"Amount": 1200
},
"Fees": {
"Currency": "EUR",
"Amount": 300
},
"Status": "CREATED",
"ResultCode": null,
"ResultMessage": null,
"ExecutionDate": null,
"Type": "PAYIN",
"Nature": "REGULAR",
"CreditedWalletId": "wlt_m_01HS10XBZQHDWSX10WW6RTMRA6",
"CreditedUserId": "user_m_01HS10X7WCFSVMAZTBVYY0HPXF",
"PaymentType": "PAYPAL",
"ExecutionType": "WEB",
"ReturnURL": "http://www.mangopay.com/docs/please-ignore?transactionId=wt_f79a219d-c952-41a0-9bc4-e575f8f1ef7a",
"RedirectURL": "https://www.sandbox.paypal.com/checkoutnow?token=6MH08891XC585490F",
"StatementDescriptor": "Mangopay",
"Shipping": {
"FirstName": "Alex",
"LastName": "Smith",
"Address": {
"AddressLine1": "6 rue de la Cité",
"AddressLine2": "Appartement 3",
"City": "Paris",
"Region": "île-de-france",
"PostalCode": "75003",
"Country": "FR"
}
},
"LineItems": [
{
"Name": "Running shoes",
"Quantity": 2,
"UnitAmount": 400,
"TaxAmount": 100,
"Description": "ID of Seller 1",
"Category": "PHYSICAL_GOODS"
},
{
"Name": "Walking shoes",
"Quantity": 1,
"UnitAmount": 400,
"TaxAmount": 100,
"Description": "ID of Seller 2",
"Category": "PHYSICAL_GOODS"
}
],
"Culture": "FR",
"ShippingPreference": "SET_PROVIDED_ADDRESS",
"PaypalBuyerAccountEmail": null,
"Reference": "1234",
"Trackings": null,
"CancelURL": "http://www.example.com/?transactionId=wt_f79a219d-c952-41a0-9bc4-e575f8f1ef7a",
"PaypalPayerID": null,
"BuyerCountry": null,
"BuyerFirstname": null,
"BuyerLastname": null,
"BuyerPhone": null,
"PaypalOrderID": "6MH08891XC585490F"
}
{
"Tag": "Created using the Mangopay API Postman collection",
"AuthorId": "user_m_01HS10X7WCFSVMAZTBVYY0HPXF",
"DebitedFunds": {
"Currency": "EUR",
"Amount": 1500
},
"Fees": {
"Currency": "EUR",
"Amount": 300
},
"CreditedWalletId": "wlt_m_01HS10XBZQHDWSX10WW6RTMRA6",
"ReturnURL": "http://www.mangopay.com/docs/please-ignore",
"CancelURL": "http://www.example.com/",
"StatementDescriptor": "MGP",
"Shipping": {
"FirstName": "Alex",
"LastName": "Smith",
"Address": {
"AddressLine1": "6 rue de la Cité",
"AddressLine2": "Appartement 3",
"City": "Paris",
"Region": "île-de-france",
"PostalCode": "75003",
"Country": "FR"
}
},
"LineItems": [
{
"Name": "Running shoes",
"Quantity": 2,
"UnitAmount": 400,
"TaxAmount": 100,
"Description": "ID of Seller 1",
"Category": "PHYSICAL_GOODS"
},
{
"Name": "Walking shoes",
"Quantity": 1,
"UnitAmount": 400,
"TaxAmount": 100,
"Description": "ID of Seller 2",
"Category": "PHYSICAL_GOODS"
}
],
"Culture": "FR",
"ShippingPreference": "SET_PROVIDED_ADDRESS",
"Reference": "1234"
}
const mangopayInstance = require('mangopay4-nodejs-sdk');
const mangopay = new mangopayInstance({
clientId: "your-client-id",
clientApiKey: "your-api-key"
})
let myPayIn = {
PaymentType: 'PAYPAL',
ExecutionType: 'WEB',
AuthorId: 'user_m_01J84RCFJ0Q9RVQZ13618FSNWN',
DebitedFunds: {
Currency: 'EUR',
Amount: 1000,
},
Fees: {
Currency: 'EUR',
Amount: 0,
},
CreditedWalletId: 'wlt_m_01HWAR863HPA3FAVEXA9J6JSYD',
ReturnURL: 'http://example.com',
StatementDescriptor: "MGP24",
Shipping: {
FirstName: 'Alex',
LastName: 'Smith',
Address: {
AddressLine1: 'Rue des plantes',
AddressLine2: 'The Oasis',
City: 'Paris',
Region: 'Île-de-France',
PostalCode: '75000',
Country: 'FR',
},
},
LineItems: [
{
Name: "running shoes",
Quantity: 1,
UnitAmount: 500,
TaxAmount: 0,
Description: "Red"
},
{
Name: "running shoes",
Quantity: 1,
UnitAmount: 500,
TaxAmount: 0,
Description: "Black"
}
],
ShippingPreference: "SET_PROVIDED_ADDRESS",
Reference: "Ref24",
Tag: 'Created with Mangopay NodeJS SDK'
}
const createPayPalPayIn = async (payin) => {
return await mangopay.PayIns.createPayPal(payin)
.then((response) => {
console.info(response)
return response
})
.catch((err) => {
console.log(err)
return false
})
}
createPayPalPayIn(myPayIn)
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.mangopay.MangoPayApi;
import com.mangopay.core.Address;
import com.mangopay.core.LineItem;
import com.mangopay.core.Money;
import com.mangopay.core.Shipping;
import com.mangopay.core.enumerations.CountryIso;
import com.mangopay.core.enumerations.CultureCode;
import com.mangopay.core.enumerations.CurrencyIso;
import com.mangopay.core.enumerations.ShippingPreference;
import com.mangopay.entities.PayIn;
import com.mangopay.entities.subentities.PayInExecutionDetailsWeb;
import com.mangopay.entities.subentities.PayInPaymentDetailsPayPal;
import java.util.List;
import java.util.ArrayList;
public class CreatePaypalPayin {
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 userId = "user_m_01HT2NFK7Z2BRQNGNHMY30VVTT";
var walletId = "wlt_m_01HTHTXEF4BJCTKMXNWMSZ6KP5";
Address address = new Address();
address.setAddressLine1("2795 Edgewood Road");
address.setCity("Little Rock");
address.setRegion("Arkansas");
address.setPostalCode("72212");
address.setCountry(CountryIso.FR);
PayIn payIn = new PayIn();
payIn.setAuthorId(userId);
payIn.setDebitedFunds(new Money());
payIn.getDebitedFunds().setAmount(1000);
payIn.getDebitedFunds().setCurrency(CurrencyIso.EUR);
payIn.setFees(new Money());
payIn.getFees().setAmount(5);
payIn.getFees().setCurrency(CurrencyIso.EUR);
payIn.setCreditedWalletId(walletId);
PayInPaymentDetailsPayPal paymentDetails = new PayInPaymentDetailsPayPal();
paymentDetails.setShipping(new Shipping());
paymentDetails.getShipping().setFirstName("Alessandra");
paymentDetails.getShipping().setLastName("Wilderman");
paymentDetails.getShipping().setAddress(address);
List<LineItem> lineItems = new ArrayList<>();
lineItems.add(new LineItem(
"Item 1",
1,
1000,
0,
"Item description"
)
.setCategory("PHYSICAL_GOODS"));
paymentDetails.setLineItems(lineItems);
paymentDetails.setShippingPreference(ShippingPreference.GET_FROM_FILE);
paymentDetails.setReference("Reference");
paymentDetails.setStatementDescriptor("Jul2024");
payIn.setPaymentDetails(paymentDetails);
PayInExecutionDetailsWeb executionDetails = new PayInExecutionDetailsWeb();
executionDetails.setReturnUrl("http://mangopay.com");
executionDetails.setCulture(CultureCode.FR);
payIn.setExecutionDetails(executionDetails);
payIn.setTag("Create using the Mangopay Java SDK");
PayIn createPaypalPayin = mangopay.getPayInApi().createPayPal(payIn);
Gson prettyPrint = new GsonBuilder().setPrettyPrinting().create();
String prettyJson = prettyPrint.toJson(createPaypalPayin);
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 NaturalUser, PayPalWebPayIn
from mangopay.utils import Money, LineItem, Shipping, Address
natural_user = NaturalUser.get('210513027')
paypal_payin = PayPalWebPayIn(
author_id = natural_user.id,
credited_wallet_id = '210514820',
debited_funds = Money(amount=1500, currency='EUR'),
fees = Money(amount=300, currency='EUR'),
culture = 'FR',
return_url = 'https://www.mangopay.com/docs/please-ignore',
line_items = [
LineItem(
name = 'Running shoes',
quantity=1,
unit_amount=400,
tax_amount=100,
description='ID of Seller 1'),
LineItem(
name = 'Walking shoes',
quantity=2,
unit_amount=400,
tax_amount=100,
description='ID of Seller 2')
],
shipping = Shipping(
first_name = natural_user.first_name,
last_name = natural_user.last_name,
address = Address(
address_line_1 = natural_user.address.address_line_1,
address_line_2 = natural_user.address.address_line_2,
city = natural_user.address.city,
region = natural_user.address.region,
postal_code = natural_user.address.postal_code,
country = natural_user.address.country,
)
),
shipping_preference = 'SET_PROVIDED_ADDRESS',
reference = '1234',
statement_descriptor = 'MGP',
tag = 'Created using the Mangopay Python SDK'
)
create_paypal_payin = paypal_payin.save()
pprint(create_paypal_payin)
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 walletId = "wlt_m_01J30991BXBB7VF28PBS82EWD3";
var returnUrl = "https://www.mangopay.com/docs/please-ignore/";
List<LineItem> lineItems = new List<LineItem>()
{
new LineItem {
Name = "running shoes",
Quantity = 2,
UnitAmount = 500,
TaxAmount = 0,
Description = "seller ID"
}
};
Shipping shipping = new Shipping
{
Address = new Address {
AddressLine1 = "Address line 1",
AddressLine2 = "Address line 2",
City = "City",
Country = CountryIso.FR,
PostalCode = "11222",
Region = "Region"
},
FirstName = "Dolly",
LastName = "Nelson"
};
var payIn = new PayInPayPalWebPostDTO(userId,
new Money { Amount = 1000, Currency = CurrencyIso.EUR },
new Money { Amount = 0, Currency = CurrencyIso.EUR },
walletId, returnUrl,
lineItems, shipping,
"MGP", CultureCode.FR,
ShippingPreference.SET_PROVIDED_ADDRESS,
"3214"
) {
Tag = "Created using the Mangopay .NET SDK"
};
var createPayPalPayIn = await api.PayIns.CreatePayPalWebAsync(payIn);
string prettyPrint = JsonConvert.SerializeObject(createPayPalPayIn, Formatting.Indented);
Console.WriteLine(prettyPrint);
}
}
Was this page helpful?