mangoex v0.3.0 Mangoex.Behaviour behaviour
Public API for MangoEx
Summary
Callbacks
Authorises Mangoex to use MangoPay
Checks a User’s KYC document status
Checks a User’s emoney status
Creates a User on MangoPay
Returns a Wallet
Submits a KYC document for validation by MangoPay
Updates a User on the system pattern match LegalPersonType to update a legal user
Callbacks
Authorises Mangoex to use MangoPay
Examples
iex> Mangoex.Client.auth("CLIENT_ID", "PASSPHRASE")
{:ok,
%{"access_token" => "99999999999999999999", "expires_in" => 1199, "token_type" => "bearer"}
Checks a User’s KYC document status.
Examples
iex> Mangoex.Client.auth("CLIENT_ID", "PASSPHRASE")
iex> Mangoex.Client.check_kyc_document("99999999")
{:ok,
%{"CreationDate" => 1498207261, "Id" => "99999999",
"RefusedReasonMessage" => nil, "RefusedReasonType" => nil,
"Status" => "VALIDATION_ASKED", "Tag" => nil, "Type" => "ADDRESS_PROOF",
"UserId" => "25015768"}}
Checks a User’s emoney status.
Examples
iex> Mangoex.Client.auth("CLIENT_ID", "PASSPHRASE")
iex> Mangoex.Client.check_users_emoney("99999999", %{})
{:ok,
%{"CreditedEMoney" => %{"Amount" => 0, "Currency" => "EUR"},
"DebitedEMoney" => %{"Amount" => 0, "Currency" => "EUR"},
"UserId" => "99999999"}}
iex> Mangoex.Client.check_users_emoney("99999999", %{Currency: "GBP"})
{:ok,
%{"CreditedEMoney" => %{"Amount" => 0, "Currency" => "GBP"},
"DebitedEMoney" => %{"Amount" => 0, "Currency" => "GBP"},
"UserId" => "99999999"}}
Creates a User on MangoPay
Examples
iex> Mangoex.Client.auth("CLIENT_ID", "PASSPHRASE")
iex> params = %{
FirstName: "Joe",
LastName: "Blogs",
Address: %{
AddressLine1: "1 Mangopay Street",
AddressLine2: "The Loop",
City: "Paris",
Region: "Ile de France",
PostalCode: "75001",
Country: "FR"
},
Birthday: 1463496101,
Nationality: "GB",
CountryOfResidence: "FR",
Email: "test@mangopay.com"
}
iex> Mangoex.Client.create_user(:natural, params)
{:ok,
%{"Address" => %{"AddressLine1" => "1 Mangopay Street",
"AddressLine2" => "The Loop", "City" => "Paris", "Country" => "FR",
"PostalCode" => "75001", "Region" => "Ile de France"},
"Birthday" => 1463496101, "Capacity" => "NORMAL",
"CountryOfResidence" => "FR", "CreationDate" => 1501165918,
"Email" => "test@mangopay.com", "FirstName" => "Joe", "Id" => "30091968",
"IncomeRange" => nil, "KYCLevel" => "LIGHT", "LastName" => "Blogs",
"Nationality" => "GB", "Occupation" => nil, "PersonType" => "NATURAL",
"ProofOfAddress" => nil, "ProofOfIdentity" => nil, "Tag" => nil}}
Returns a Wallet
Examples
iex> Mangoex.Client.auth("CLIENT_ID", "PASSPHRASE")
iex> Mangoex.Client.get_wallet("99999999")
{:ok,
%{"Balance" => %{"Amount" => 2716,
"Currency" => "GBP"},
"CreationDate" => 1493386336,
"Currency" => "GBP",
"Description" => "test",
"FundsType" => "DEFAULT", "Id" => "99999999",
"Owners" => ["99999999"]}
Submits a KYC document for validation by MangoPay
Examples
iex> Mangoex.Client.auth("CLIENT_ID", "PASSPHRASE")
iex> Mangoex.Client.submit_kyc_document("99999999","99999999", %{Status: "VALIDATION_ASKED"})
{:ok,
%{"CreationDate" => 1498207261, "Id" => "99999999",
"RefusedReasonMessage" => nil, "RefusedReasonType" => nil,
"Status" => "VALIDATION_ASKED", "Tag" => nil, "Type" => "ADDRESS_PROOF",
"UserId" => "99999999"}}
Updates a User on the system pattern match LegalPersonType to update a legal user
Examples
iex> Mangoex.Client.auth("CLIENT_ID", "PASSPHRASE")
iex> params = %{FirstName: "Updated"}
iex> Mangoex.Client.update_user("00000001", params)
{:ok,
%{"Address" => %{"AddressLine1" => "1 Mangopay Street",
"AddressLine2" => "The Loop", "City" => "Paris", "Country" => "FR",
"PostalCode" => "75001", "Region" => "Ile de France"},
"Birthday" => 1463496101, "Capacity" => "NORMAL",
"CountryOfResidence" => "FR", "CreationDate" => 1501165918,
"Email" => "test@mangopay.com", "FirstName" => "Updated", "Id" => "00000001",
"IncomeRange" => nil, "KYCLevel" => "LIGHT", "LastName" => "Blogs",
"Nationality" => "GB", "Occupation" => nil, "PersonType" => "NATURAL",
"ProofOfAddress" => nil, "ProofOfIdentity" => nil, "Tag" => nil}}