<?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 {
$userId ='146476890';
$response = $api->KycDocuments->GetAll($userId);
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 user = {
Id: '146476890',
}
const listUserKycDocs = async (userId) => {
return await mangopay.Users.getKycDocuments(userId)
.then((response) => {
console.info(response)
return response
})
.catch((err) => {
console.log(err)
return false
})
}
listUserKycDocs(user.Id)
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 listKycDocumentsforUser(userId)
begin
response = MangoPay::KycDocument.fetch_all(userId)
puts response
return response
rescue MangoPay::ResponseError => error
puts "Failed to fetch KYC Documents #{error.message}"
puts "Error details: #{error.details}"
return false
end
end
myUser = {
Id: '146476890'
}
listKycDocumentsforUser(myUser[:Id])
import com.mangopay.MangoPayApi;
import com.mangopay.entities.KycDocument;
import com.mangopay.core.Pagination;
import java.lang.reflect.Field;
import java.util.List;
public class ListUserKycDocs {
public static void main(String[] args) throws Exception {
MangoPayApi mangopay = new MangoPayApi();
mangopay.getConfig().setClientId("your-client-id");
mangopay.getConfig().setClientPassword("your-api-key");
String userId = "user_m_01HR9SZTXDRY1PCFHSJFAPC0YJ";
Pagination pagination = new Pagination(1, 100);
List<KycDocument> kycDocs = mangopay.getUserApi().getKycDocuments(userId, pagination, null);
for (KycDocument kycDoc : kycDocs) {
kycDoc = mangopay.getUserApi().getKycDocument(userId, kycDoc.getId());
System.out.println("");
System.out.println(String.format("id: %s", kycDoc.getId()));
printObjectFields(kycDoc);
}
}
private static void printObjectFields(Object obj) {
Class<?> objClass = obj.getClass();
Field[] fields = objClass.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
try {
Object value = field.get(obj);
System.out.println(field.getName() + ": " + value);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
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 LegalUser
legal_user = LegalUser(
id = '210760575'
)
documents = legal_user.documents.all()
for document in documents:
pprint(vars(document))
using MangoPay.SDK;
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 userKycDocs = await api.Users.GetKycDocumentsAsync(userId, null, null);
string prettyPrint = JsonConvert.SerializeObject(userKycDocs, Formatting.Indented);
Console.WriteLine(prettyPrint);
}
}
[
{
"Type": "REGISTRATION_PROOF",
"UserId": "user_m_01J8J0Y9DPNYRA9RB532CCND9Q",
"Flags": [],
"Id": "kyc_01JA5M25P7D6V54J72ENGMPH9Y",
"Tag": "Created using Mangopay API Postman Collection",
"CreationDate": 1728913151,
"ProcessedDate": null,
"Status": "VALIDATION_ASKED",
"RefusedReasonType": null,
"RefusedReasonMessage": null
},
{
"Type": "IDENTITY_PROOF",
"UserId": "user_m_01J8J0Y9DPNYRA9RB532CCND9Q",
"Flags": [],
"Id": "kyc_01JA5M2N33ENJHWVPQXVJ6Q51P",
"Tag": "Created using Mangopay API Postman Collection",
"CreationDate": 1728913167,
"ProcessedDate": 1728913173,
"Status": "VALIDATED",
"RefusedReasonType": null,
"RefusedReasonMessage": null
}
]
KYC documents
List KYC Documents for a User
GET
/
v2.01
/
{ClientId}
/
users
/
{UserId}
/
kyc
/
documents
<?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 {
$userId ='146476890';
$response = $api->KycDocuments->GetAll($userId);
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 user = {
Id: '146476890',
}
const listUserKycDocs = async (userId) => {
return await mangopay.Users.getKycDocuments(userId)
.then((response) => {
console.info(response)
return response
})
.catch((err) => {
console.log(err)
return false
})
}
listUserKycDocs(user.Id)
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 listKycDocumentsforUser(userId)
begin
response = MangoPay::KycDocument.fetch_all(userId)
puts response
return response
rescue MangoPay::ResponseError => error
puts "Failed to fetch KYC Documents #{error.message}"
puts "Error details: #{error.details}"
return false
end
end
myUser = {
Id: '146476890'
}
listKycDocumentsforUser(myUser[:Id])
import com.mangopay.MangoPayApi;
import com.mangopay.entities.KycDocument;
import com.mangopay.core.Pagination;
import java.lang.reflect.Field;
import java.util.List;
public class ListUserKycDocs {
public static void main(String[] args) throws Exception {
MangoPayApi mangopay = new MangoPayApi();
mangopay.getConfig().setClientId("your-client-id");
mangopay.getConfig().setClientPassword("your-api-key");
String userId = "user_m_01HR9SZTXDRY1PCFHSJFAPC0YJ";
Pagination pagination = new Pagination(1, 100);
List<KycDocument> kycDocs = mangopay.getUserApi().getKycDocuments(userId, pagination, null);
for (KycDocument kycDoc : kycDocs) {
kycDoc = mangopay.getUserApi().getKycDocument(userId, kycDoc.getId());
System.out.println("");
System.out.println(String.format("id: %s", kycDoc.getId()));
printObjectFields(kycDoc);
}
}
private static void printObjectFields(Object obj) {
Class<?> objClass = obj.getClass();
Field[] fields = objClass.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
try {
Object value = field.get(obj);
System.out.println(field.getName() + ": " + value);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
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 LegalUser
legal_user = LegalUser(
id = '210760575'
)
documents = legal_user.documents.all()
for document in documents:
pprint(vars(document))
using MangoPay.SDK;
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 userKycDocs = await api.Users.GetKycDocumentsAsync(userId, null, null);
string prettyPrint = JsonConvert.SerializeObject(userKycDocs, Formatting.Indented);
Console.WriteLine(prettyPrint);
}
}
[
{
"Type": "REGISTRATION_PROOF",
"UserId": "user_m_01J8J0Y9DPNYRA9RB532CCND9Q",
"Flags": [],
"Id": "kyc_01JA5M25P7D6V54J72ENGMPH9Y",
"Tag": "Created using Mangopay API Postman Collection",
"CreationDate": 1728913151,
"ProcessedDate": null,
"Status": "VALIDATION_ASKED",
"RefusedReasonType": null,
"RefusedReasonMessage": null
},
{
"Type": "IDENTITY_PROOF",
"UserId": "user_m_01J8J0Y9DPNYRA9RB532CCND9Q",
"Flags": [],
"Id": "kyc_01JA5M2N33ENJHWVPQXVJ6Q51P",
"Tag": "Created using Mangopay API Postman Collection",
"CreationDate": 1728913167,
"ProcessedDate": 1728913173,
"Status": "VALIDATED",
"RefusedReasonType": null,
"RefusedReasonMessage": null
}
]
Caution – Legacy endpoints being superseded by the hosted KYC/KYB solutionMangopay’s hosted KYC/KYB solution is becoming mandatory for all platforms (relying on the IDV Session object). The legacy KYC Document endpoints remain available for the sole purposes of sending additional documents, but this use case will also be handled by the hosted solution in future.
Query parameters
string
Allowed values:
CREATED, VALIDATION_ASKED, VALIDATED, REFUSED, OUT_OF_DATEThe status of the KYC Document. You can filter on multiple values by separating them with a comma.string
Allowed values:
IDENTITY_PROOF, REGISTRATION_PROOF, ARTICLES_OF_ASSOCIATION, SHAREHOLDER_DECLARATION, ADDRESS_PROOFThe type of the KYC Document. You can filter on multiple values by separating them with a comma.Unix timestamp
The date before which the object was created (based on the object’s
CreationDate parameter). You can filter on a specific time range by using both the AfterDate and BeforeDate query parameters.Unix timestamp
The date after which the object was created (based on the object’s
CreationDate parameter). You can filter on a specific time range by using both the AfterDate and BeforeDate query parameters.Path parameters
string
required
The unique identifier of the user.
Responses
200
200
array
The list of KYC documents created by the platform.
Show properties
Show properties
object
KYC Document created by the platform.
Show properties
Show properties
string
Returned values:
IDENTITY_PROOF, REGISTRATION_PROOF, ARTICLES_OF_ASSOCIATION, SHAREHOLDER_DECLARATION, ADDRESS_PROOFThe type of the document for the user verification.string
The unique identifier of the user.
array
Returned values: A code from the Flags list.The series of codes providing more precision regarding the reason why the identity proof document was refused. You can review the explanations for each code in the Flags list.
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.
string
Returned values:
CREATED, VALIDATION_ASKED, VALIDATED, REFUSED, OUT_OF_DATEThe status of the document:CREATED– The document container is created and files can be uploaded using the POST Create a KYC Document Page endpoint before submission.VALIDATION_ASKED– The document is submitted to Mangopay for validation.VALIDATED– The document is validated by Mangopay’s teams.REFUSED– The document is rejected by Mangopay’s teams and a new KYC Document object needs to be created to resubmit it. You can learn more about the reason why it was refused in theRefusedReasonTypeparameter.OUT_OF_DATE– The document is downgraded and a new KYC Document object needs to be created to resubmit it.
string
Returned values: DOCUMENT_DO_NOT_MATCH_USER_DATA, DOCUMENT_FALSIFIED, DOCUMENT_HAS_EXPIRED, DOCUMENT_INCOMPLETE, DOCUMENT_MISSING, DOCUMENT_NOT_ACCEPTED, DOCUMENT_UNREADABLE, SPECIFIC_CASE, UNDERAGE_PERSONReturned
null unless Status is REFUSED.The reason for the document refusal. See the refused reason types for more information depending on the document type.string
Max. length: 255 charactersDefault value: nullAdditional information about why the KYC Document was refused, provided by Mangopay’s team.
[
{
"Type": "REGISTRATION_PROOF",
"UserId": "user_m_01J8J0Y9DPNYRA9RB532CCND9Q",
"Flags": [],
"Id": "kyc_01JA5M25P7D6V54J72ENGMPH9Y",
"Tag": "Created using Mangopay API Postman Collection",
"CreationDate": 1728913151,
"ProcessedDate": null,
"Status": "VALIDATION_ASKED",
"RefusedReasonType": null,
"RefusedReasonMessage": null
},
{
"Type": "IDENTITY_PROOF",
"UserId": "user_m_01J8J0Y9DPNYRA9RB532CCND9Q",
"Flags": [],
"Id": "kyc_01JA5M2N33ENJHWVPQXVJ6Q51P",
"Tag": "Created using Mangopay API Postman Collection",
"CreationDate": 1728913167,
"ProcessedDate": 1728913173,
"Status": "VALIDATED",
"RefusedReasonType": null,
"RefusedReasonMessage": null
}
]
<?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 {
$userId ='146476890';
$response = $api->KycDocuments->GetAll($userId);
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 user = {
Id: '146476890',
}
const listUserKycDocs = async (userId) => {
return await mangopay.Users.getKycDocuments(userId)
.then((response) => {
console.info(response)
return response
})
.catch((err) => {
console.log(err)
return false
})
}
listUserKycDocs(user.Id)
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 listKycDocumentsforUser(userId)
begin
response = MangoPay::KycDocument.fetch_all(userId)
puts response
return response
rescue MangoPay::ResponseError => error
puts "Failed to fetch KYC Documents #{error.message}"
puts "Error details: #{error.details}"
return false
end
end
myUser = {
Id: '146476890'
}
listKycDocumentsforUser(myUser[:Id])
import com.mangopay.MangoPayApi;
import com.mangopay.entities.KycDocument;
import com.mangopay.core.Pagination;
import java.lang.reflect.Field;
import java.util.List;
public class ListUserKycDocs {
public static void main(String[] args) throws Exception {
MangoPayApi mangopay = new MangoPayApi();
mangopay.getConfig().setClientId("your-client-id");
mangopay.getConfig().setClientPassword("your-api-key");
String userId = "user_m_01HR9SZTXDRY1PCFHSJFAPC0YJ";
Pagination pagination = new Pagination(1, 100);
List<KycDocument> kycDocs = mangopay.getUserApi().getKycDocuments(userId, pagination, null);
for (KycDocument kycDoc : kycDocs) {
kycDoc = mangopay.getUserApi().getKycDocument(userId, kycDoc.getId());
System.out.println("");
System.out.println(String.format("id: %s", kycDoc.getId()));
printObjectFields(kycDoc);
}
}
private static void printObjectFields(Object obj) {
Class<?> objClass = obj.getClass();
Field[] fields = objClass.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
try {
Object value = field.get(obj);
System.out.println(field.getName() + ": " + value);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
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 LegalUser
legal_user = LegalUser(
id = '210760575'
)
documents = legal_user.documents.all()
for document in documents:
pprint(vars(document))
using MangoPay.SDK;
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 userKycDocs = await api.Users.GetKycDocumentsAsync(userId, null, null);
string prettyPrint = JsonConvert.SerializeObject(userKycDocs, Formatting.Indented);
Console.WriteLine(prettyPrint);
}
}
Was this page helpful?
⌘I