Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/joomla4/ |
| [Home] [System Details] [Kill Me] |
PK��[B�>�''common/common.incnu�[���<?php
/**
* Function to auto include files with entities and types
* @param String $className
*/
function mangoPay_Autoload($className){
$fileName = substr(strrchr($className, '\\'), 1);
// include entities files
if (mangoPay_AutoloadCheckAndInclude($fileName, 'entities'))
return;
// include types files
if (mangoPay_AutoloadCheckAndInclude($fileName, 'types'))
return;
// include tools files
if (mangoPay_AutoloadCheckAndInclude($fileName, 'tools'))
return;
// include exceptions files
if (mangoPay_AutoloadCheckAndInclude($fileName,
'types/exceptions'))
return;
}
function mangoPay_AutoloadCheckAndInclude($fileName, $module) {
$path = __DIR__ . '/../' . $module . '/' .
lcfirst($fileName) . '.inc';
if (file_exists($path)){
include_once $path;
return true;
}
return false;
}
// register auto load function
spl_autoload_register('mangoPay_Autoload');
// include file with enums
require_once __DIR__ . '/../tools/enums.inc';
PK��[�#o,,common/index.htmlnu�[���<html><body
bgcolor="#FFFFFF"></body></html>PK��[%a���entities/bankAccount.incnu�[���<?php
namespace MangoPay;
/**
* Bank Account entity
*/
class BankAccount extends EntityBase {
/**
* User identifier
* @var LeetchiId
*/
public $UserId;
/**
* Type of bank account
* @var string
*/
public $Type;
/**
* Owner name
* @var string
*/
public $OwnerName;
/**
* Owner address
* @var string
*/
public $OwnerAddress;
/**
* One of BankAccountDetails implementations, depending on $Type
* @var object
*/
public $Details;
/**
* Get array with mapping which property depends on other property
* @return array
*/
public function GetDependsObjects() {
return array(
'Type' => array(
'_property_name' => 'Details',
'IBAN' =>
'\MangoPay\BankAccountDetailsIBAN',
'GB' =>
'\MangoPay\BankAccountDetailsGB',
'US' =>
'\MangoPay\BankAccountDetailsUS',
'CA' =>
'\MangoPay\BankAccountDetailsCA',
'OTHER' =>
'\MangoPay\BankAccountDetailsOTHER',
)
);
}
/**
* Get array with read-only properties
* @return array
*/
public function GetReadOnlyProperties() {
$properties = parent::GetReadOnlyProperties();
array_push( $properties, 'UserId' );
array_push( $properties, 'Type' );
return $properties;
}
}
PK��[{F�]entities/card.incnu�[���<?php
namespace MangoPay;
/**
* Card entity
*/
class Card extends EntityBase {
/**
* Expiration date
* @var string
*/
public $ExpirationDate;
/**
* Alias
* @var string
*/
public $Alias;
/**
* Card type
* @var string
*/
public $CardType;
/**
* Product
* @var string
*/
public $Product ;
/**
* Bank code
* @var string
*/
public $BankCode;
/**
* Active
* @var bool
*/
public $Active;
/**
* Currency
* @var string
*/
public $Currency;
/**
* Validity
* @var \MangoPay\CardValidity
*/
public $Validity;
}PK��[�u]�GG!entities/cardPreAuthorization.incnu�[���<?php
namespace MangoPay;
/**
* Pre-authorization entity
*/
class CardPreAuthorization extends EntityBase {
/**
* The user Id of the author of the pre-authorization
* @var string
*/
public $AuthorId;
/**
* It represents the amount debited on the bank account
* of the Author.DebitedFunds = Fees + CreditedFunds
* (amount received on wallet)
* @var \MangoPay\Money
*/
public $DebitedFunds;
/**
* Status of the PreAuthorization: CREATED, SUCCEEDED, FAILED
* @var string
*/
public $Status;
/**
* The status of the payment after the PreAuthorization:
* WAITING, CANCELED, EXPIRED, VALIDATED
* @var string
*/
public $PaymentStatus;
/**
* The PreAuthorization result code
* @var string
*/
public $ResultCode;
/**
* The PreAuthorization result Message explaining the result code
* @var string
*/
public $ResultMessage;
/**
* How the PreAuthorization has been executed.
* Only on value for now: CARD
* @var string
*/
public $ExecutionType;
/**
* The SecureMode correspond to '3D secure' for CB Visa and
MasterCard
* or 'Amex Safe Key' for American Express.
* This field lets you activate it manually.
* @var string
*/
public $SecureMode;
/**
* The ID of the registered card (Got through CardRegistration object)
* @var string
*/
public $CardId;
/**
* Boolean. The value is 'true' if the SecureMode was used
* @var string
*/
public $SecureModeNeeded;
/**
* This is the URL where to redirect users to proceed
* to 3D secure validation
* @var string
*/
public $SecureModeRedirectURL;
/**
* This is the URL where users are automatically redirected
* after 3D secure validation (if activated)
* @var string
*/
public $SecureModeReturnURL;
/**
* The date when the payment is processed
* @var Timestamp
*/
public $ExpirationDate;
/**
* The date when the payment was authorized
* @var Timestamp
*/
public $AuthorizationDate;
/**
* The type of pre-authorization ("CARD" is the only
acceptable value at present
* @var string
*/
public $PaymentType;
/**
* The Id of the associated PayIn
* @var string
*/
public $PayInId;
/**
* Get array with mapping which property is object and what type of
object
* @return array
*/
public function GetSubObjects() {
return array(
'DebitedFunds' => '\MangoPay\Money'
);
}
/**
* Get array with read-only properties
* @return array
*/
public function GetReadOnlyProperties() {
$properties = parent::GetReadOnlyProperties();
array_push( $properties, 'Status' );
array_push( $properties, 'ResultCode' );
array_push( $properties, 'ResultMessage' );
return $properties;
}
}
PK��[����entities/cardRegistration.incnu�[���<?php
namespace MangoPay;
/**
* CardRegistration entity
*/
class CardRegistration extends EntityBase {
/**
* User Id
* @var string
*/
public $UserId;
/**
* Access key
* @var string
*/
public $AccessKey;
/**
* Preregistration data
* @var string
*/
public $PreregistrationData;
/**
* Card registration URL
* @var string
*/
public $CardRegistrationURL;
/**
* Card Id
* @var string
*/
public $CardId;
/**
* Card registration data
* @var string
*/
public $RegistrationData;
/**
* The result code of the object
* @var string
*/
public $ResultCode;
/**
* The message explaning the result code
* @var string
*/
public $ResultMessage;
/**
* Currency
* @var string
*/
public $Currency;
/**
* Status
* @var string
*/
public $Status;
/**
* Get array with read-only properties
* @return array
*/
public function GetReadOnlyProperties() {
$properties = parent::GetReadOnlyProperties();
array_push( $properties, 'AccessKey' );
array_push( $properties, 'PreregistrationData' );
array_push( $properties, 'CardRegistrationURL' );
array_push( $properties, 'CardId' );
array_push( $properties, 'ResultCode' );
array_push( $properties, 'ResultMessage' );
array_push( $properties, 'Status' );
return $properties;
}
}PK��[7?I+��entities/client.incnu�[���<?php
namespace MangoPay;
/**
* Client entity
*/
class Client extends EntityBase {
/**
* Client identifier
* @var String
*/
public $ClientId;
/**
* Name of client
* @var String
*/
public $Name;
/**
* Email of client
* @var String
*/
public $Email;
/**
* Password for client
* @var String
*/
public $Passphrase;
}
PK��[)S��entities/entityBase.incnu�[���<?php
namespace MangoPay;
/**
* Abstract class with common properties
*/
abstract class EntityBase extends Dto {
/**
* @var Int Unique identifier
* (At this moment type is Integer - in the feature will be GUID)
*/
public $Id;
/**
* @var String Custom data
*/
public $Tag;
/**
* @var Time Date of creation
*/
public $CreationDate;
/**
* Construct
* @param type $id Entity identifier
*/
function __construct($id = null) {
$this->Id = $id;
}
/**
* Get array with read-only properties
* @return array
*/
public function GetReadOnlyProperties() {
return array( 'Id', 'CreationDate' );
}
}
PK��[
G�SSentities/event.incnu�[���<?php
namespace MangoPay;
/**
* Event entity
*/
class Event extends Dto {
/**
* Resource ID
* @var string
*/
public $ResourceId;
/**
* Event type
* @var \MangoPay\EventType
*/
public $EventType;
/**
* Date of event
* @var Date
*/
public $Date;
}
PK��[���y��entities/hook.incnu�[���<?php
namespace MangoPay;
/**
* Hooks and Notifications entity
*/
class Hook extends EntityBase {
/**
* This is the URL where your receive notification for each EventType
* @var string
*/
public $Url;
/**
* Status: ENABLED, DISABLED
* @var string
*/
public $Status;
/**
* Validity: VALID, INVALID
* @var string
*/
public $Validity;
/**
* EventType
* @var EventType
*/
public $EventType;
}PK��[�#o,,entities/index.htmlnu�[���<html><body
bgcolor="#FFFFFF"></body></html>PK��[�%�UUentities/kycDocument.incnu�[���<?php
namespace MangoPay;
/**
* KYC document entity
*/
class KycDocument extends EntityBase {
/**
* Document type
* @var \MangoPay\KycDocumentType
*/
public $Type;
/**
* Document status
* @var \MangoPay\KycDocumentStatus
*/
public $Status;
/**
* Refused reason type
* @var type string
*/
public $RefusedReasonType;
/**
* Refused reason message
* @var type string
*/
public $RefusedReasonMessage;
/**
* User identifier
* @var type string
*/
public $UserId;
}PK��[W+��entities/kycPage.incnu�[���<?php
namespace MangoPay;
/**
* KYC page entity for Kyc document
*/
class KycPage extends Dto {
/**
* Image base64
* @var type string
*/
public $File;
}PK��[��z%%entities/payIn.incnu�[���<?php
namespace MangoPay;
/**
* Pay-in entity
*/
class PayIn extends Transaction {
/**
* Credited wallet Id
* @var int
*/
public $CreditedWalletId;
/**
* PaymentType {CARD, BANK_WIRE, AUTOMATIC_DEBIT, DIRECT_DEBIT }
* @var string
*/
public $PaymentType;
/**
* One of PayInPaymentDetails implementations, depending on
$PaymentType
* @var object
*/
public $PaymentDetails;
/**
* ExecutionType { WEB, TOKEN, DIRECT, PREAUTHORIZED,
RECURRING_ORDER_EXECUTION }
* @var string
*/
public $ExecutionType;
/**
* One of PayInExecutionDetails implementations, depending on
$ExecutionType
* @var object
*/
public $ExecutionDetails;
/**
* Get array with mapping which property depends on other property
* @return array
*/
public function GetDependsObjects() {
return array(
'PaymentType' => array(
'_property_name' =>
'PaymentDetails',
'CARD' =>
'\MangoPay\PayInPaymentDetailsCard',
'PREAUTHORIZED' =>
'\MangoPay\PayInPaymentDetailsPreAuthorized',
'BANK_WIRE' =>
'\MangoPay\PayInPaymentDetailsBankWire',
'DIRECT_DEBIT' =>
'\MangoPay\PayInPaymentDetailsDirectDebit',
// ...and more in future...
),
'ExecutionType' => array(
'_property_name' =>
'ExecutionDetails',
'WEB' =>
'\MangoPay\PayInExecutionDetailsWeb',
'DIRECT' =>
'\MangoPay\PayInExecutionDetailsDirect',
// ...and more in future...
)
);
}
/**
* Get array with read-only properties
* @return array
*/
public function GetReadOnlyProperties() {
$properties = parent::GetReadOnlyProperties();
array_push( $properties, 'PaymentType' );
array_push( $properties, 'ExecutionType' );
return $properties;
}
}
PK��[ܙ9W��entities/payOut.incnu�[���<?php
namespace MangoPay;
/**
* PayOut entity
*/
class PayOut extends Transaction {
/**
* Debited wallet Id
* @var int
*/
public $DebitedWalletId;
/**
* PaymentType (BANK_WIRE, MERCHANT_EXPENSE, AMAZON_GIFTCARD)
* @var string
*/
public $PaymentType;
/**
* One of PayOutPaymentDetails implementations, depending on
$PaymentType
* @var object
*/
public $MeanOfPaymentDetails;
/**
* Get array with mapping which property depends on other property
* @return array
*/
public function GetDependsObjects() {
return array(
'PaymentType' => array(
'_property_name' =>
'MeanOfPaymentDetails',
'BANK_WIRE' =>
'\MangoPay\PayOutPaymentDetailsBankWire',
// ...and more in future...
)
);
}
/**
* Get array with read-only properties
* @return array
*/
public function GetReadOnlyProperties() {
$properties = parent::GetReadOnlyProperties();
array_push( $properties, 'PaymentType' );
return $properties;
}
}PK��[��&��entities/refund.incnu�[���<?php
namespace MangoPay;
/**
* Refund entity
*/
class Refund extends Transaction {
/**
* Initial transaction Id
* @var string
*/
public $InitialTransactionId;
/**
* Debited wallet Id
* @var string
*/
public $DebitedWalletId;
/**
* Credited wallet Id
* @var string
*/
public $CreditedWalletId;
}PK��[�*o���$entities/temporaryImmediatePayIn.incnu�[���<?php
namespace MangoPay;
/**
* WARNING!!
* It's temporary entity and it will be removed in the future.
* Please, contact with support before using these features or if you have
any questions.
*
* Temporary immediate pay-in entity.
*/
class TemporaryImmediatePayIn extends Transaction {
/**
* Payment card Id
* @var string
*/
public $PaymentCardId;
/**
* Credited wallet Id
* @var string
*/
public $CreditedWalletId;
}PK��[�����!entities/temporaryPaymentCard.incnu�[���<?php
namespace MangoPay;
/**
* WARNING!!
* It's temporary entity and it will be removed in the future.
* Please, contact with support before using these features or if you have
any questions.
*
* Temporary Payment Card entity.
*/
class TemporaryPaymentCard extends EntityBase {
/**
* User Id
* @var string
*/
public $UserId;
/**
* Culture
* @var string
*/
public $Culture;
/**
* Return URL
* @var string
*/
public $ReturnURL;
/**
* Template URL
* @var string
*/
public $TemplateURL;
/**
* Redirect URL
* @var string
*/
public $RedirectURL;
/**
* Alias
* @var string
*/
public $Alias;
}PK��[��}P��entities/transaction.incnu�[���<?php
namespace MangoPay;
/**
* Transaction entity.
* Base class for: PayIn, PayOut, Transfer.
*/
class Transaction extends EntityBase {
/**
* Author Id
* @var int
*/
public $AuthorId;
/**
* Credited user Id
* @var int
*/
public $CreditedUserId;
/**
* Debited funds
* @var \MangoPay\Money
*/
public $DebitedFunds;
/**
* Credited funds
* @var \MangoPay\Money
*/
public $CreditedFunds;
/**
* Fees
* @var \MangoPay\Money
*/
public $Fees;
/**
* TransactionStatus {CREATED, SUCCEEDED, FAILED}
* @var string
*/
public $Status;
/**
* Result code
* @var string
*/
public $ResultCode;
/**
* The PreAuthorization result Message explaining the result code
* @var string
*/
public $ResultMessage;
/**
* Execution date;
* @var date
*/
public $ExecutionDate;
/**
* TransactionType {PAYIN, PAYOUT, TRANSFER}
* @var string
*/
public $Type;
/**
* TransactionNature { REGULAR, REFUND, REPUDIATION }
* @var string
*/
public $Nature;
/**
* Get array with mapping which property is object and what type of
object
* @return array
*/
public function GetSubObjects() {
return array(
'DebitedFunds' => '\MangoPay\Money' ,
'CreditedFunds' => '\MangoPay\Money' ,
'Fees' => '\MangoPay\Money'
);
}
/**
* Get array with read-only properties
* @return array
*/
public function GetReadOnlyProperties() {
$properties = parent::GetReadOnlyProperties();
array_push( $properties, 'Status' );
array_push( $properties, 'ResultCode' );
array_push( $properties, 'ExecutionDate' );
return $properties;
}
}
PK��[k�centities/transfer.incnu�[���<?php
namespace MangoPay;
/**
* Transfer entity
*/
class Transfer extends Transaction {
/**
* Debited wallet Id
* @var int
*/
public $DebitedWalletId;
/**
* Credited wallet Id
* @var int
*/
public $CreditedWalletId;
}PK��[�<���entities/user.incnu�[���<?php
namespace MangoPay;
/**
* User entity
*/
abstract class User extends EntityBase {
/**
* Type of user
* @var String
*/
public $PersonType;
/**
* Email address
* @var String
*/
public $Email;
/**
* Construct
* @param string $personType String with type of person
*/
protected function SetPersonType($personType) {
$this->PersonType = $personType;
}
/**
* Get array with read-only properties
* @return array
*/
public function GetReadOnlyProperties() {
$properties = parent::GetReadOnlyProperties();
array_push( $properties, 'PersonType' );
return $properties;
}
}PK��[#�f++entities/userLegal.incnu�[���<?php
namespace MangoPay;
/**
* UserLegal entity
*/
class UserLegal extends User {
/**
* Name of user
* @var String
*/
public $Name;
/**
* Type for legal user. Possible: ‘BUSINESS’, ’ORGANIZATION’
* @var String
*/
public $LegalPersonType;
/**
*
* @var String
*/
public $HeadquartersAddress;
/**
*
* @var String
*/
public $LegalRepresentativeFirstName;
/**
*
* @var String
*/
public $LegalRepresentativeLastName;
/**
*
* @var String
*/
public $LegalRepresentativeAddress;
/**
*
* @var String
*/
public $LegalRepresentativeEmail;
/**
*
* @var Unix timestamp
*/
public $LegalRepresentativeBirthday;
/**
*
* @var String
*/
public $LegalRepresentativeNationality;
/**
*
* @var String
*/
public $LegalRepresentativeCountryOfResidence;
/**
*
* @var String
*/
public $Statute;
/**
*
* @var String
*/
public $ProofOfRegistration;
/**
*
* @var String
*/
public $ShareholderDeclaration;
/**
* Construct
*/
function __construct($id = null) {
parent::__construct($id);
$this->SetPersonType(PersonType::Legal);
}
/**
* Get array with read-only properties
* @return array
*/
public function GetReadOnlyProperties() {
$properties = parent::GetReadOnlyProperties();
array_push( $properties, 'Statute' );
array_push( $properties, 'ProofOfRegistration' );
array_push( $properties, 'ShareholderDeclaration' );
return $properties;
}
}PK��[�Sz��entities/userNatural.incnu�[���<?php
namespace MangoPay;
/**
* UserNatural entity
*/
class UserNatural extends User {
/**
* First name for user
* @var String
*/
public $FirstName;
/**
* Last name for user
* @var String
*/
public $LastName;
/**
* Address for user
* @var String
*/
public $Address;
/**
* Date of birth
* @var Unix timestamp
*/
public $Birthday;
/**
* User's country
* @var String
*/
public $Nationality;
/**
* Country of residence
* @var String
*/
public $CountryOfResidence;
/**
* User's occupation
* @var String
*/
public $Occupation;
/**
*
* @var Int
*/
public $IncomeRange;
/**
*
* @var String
*/
public $ProofOfIdentity;
/**
*
* @var String
*/
public $ProofOfAddress;
/**
* Construct
*/
function __construct($id = null) {
parent::__construct($id);
$this->SetPersonType(PersonType::Natural);
}
/**
* Get array with read-only properties
* @return array
*/
public function GetReadOnlyProperties() {
$properties = parent::GetReadOnlyProperties();
array_push( $properties, 'ProofOfIdentity' );
array_push( $properties, 'ProofOfAddress' );
return $properties;
}
}PK��[ƀIJ�entities/wallet.incnu�[���<?php
namespace MangoPay;
/**
* Wallet entity
*/
class Wallet extends EntityBase {
/**
* Array with owners identities
* @var array
*/
public $Owners;
/**
* Wallet description
* @var string
*/
public $Description;
/**
* Money in wallet
* @var Money
*/
public $Balance;
/**
* Currency code in ISO
* @var string
*/
public $Currency;
/**
* Get array with mapping which property is object and what type of
object
* @return array
*/
public function GetSubObjects() {
return array( 'Balance' => '\MangoPay\Money'
);
}
/**
* Get array with read-only properties
* @return array
*/
public function GetReadOnlyProperties() {
$properties = parent::GetReadOnlyProperties();
array_push( $properties, 'Balance' );
return $properties;
}
}
PK��[�#o,,
index.htmlnu�[���<html><body
bgcolor="#FFFFFF"></body></html>PK��[��_��mangoPayApi.incnu�[���<?php
namespace MangoPay;
require_once __DIR__ . '/common/common.inc';
/**
* MangoPay API main entry point.
* Provides managers to connect, send and read data from MangoPay API
* as well as holds configuration/authorization data.
*/
class MangoPayApi {
/////////////////////////////////////////////////
// Config/authorization related props
/////////////////////////////////////////////////
/**
* Authorization token methods
* @var \MangoPay\AuthorizationTokenManager
*/
public $OAuthTokenManager;
/**
* Configuration instance
* @var \MangoPay\Configuration
*/
public $Config;
/////////////////////////////////////////////////
// API managers props
/////////////////////////////////////////////////
/**
* OAuth methods
* @var ApiOAuth
*/
public $AuthenticationManager;
/**
* Clients methods
* @var Client
*/
public $Clients;
/**
* Users methods
* @var ApiUsers
*/
public $Users;
/**
* Wallets methods
* @var ApiWallets
*/
public $Wallets;
/**
* Transfers methods
* @var ApiTransfers
*/
public $Transfers;
/**
* Pay-in methods
* @var ApiPayIns
*/
public $PayIns;
/**
* Pay-out methods
* @var ApiPayOuts
*/
public $PayOuts;
/**
* Refund methods
* @var ApiRefunds
*/
public $Refunds;
/**
* Card registration methods
* @var ApiCardRegistrations
*/
public $CardRegistrations;
/**
* Pre-authorization methods
* @var ApiCardPreAuthorization
*/
public $CardPreAuthorizations;
/**
* Card methods
* @var ApiCards
*/
public $Cards;
/**
* Events methods
* @var ApiEvents
*/
public $Events;
/**
* Hooks methods
* @var ApiHooks
*/
public $Hooks;
/**
* Kyc documents list
* @var ApiKycDocuments
*/
public $KycDocuments;
/**
* Constructor
*/
function __construct() {
// default config setup
$this->Config = new Configuration();
$this->OAuthTokenManager = new
AuthorizationTokenManager($this);
// API managers
$this->AuthenticationManager = new ApiOAuth($this);
$this->Clients = new ApiClients($this);
$this->Users = new ApiUsers($this);
$this->Wallets = new ApiWallets($this);
$this->Transfers = new ApiTransfers($this);
$this->PayIns = new ApiPayIns($this);
$this->PayOuts = new ApiPayOuts($this);
$this->Refunds = new ApiRefunds($this);
$this->CardRegistrations = new ApiCardRegistrations($this);
$this->Cards = new ApiCards($this);
$this->Events = new ApiEvents($this);
$this->Hooks = new ApiHooks($this);
$this->CardPreAuthorizations = new
ApiCardPreAuthorizations($this);
$this->KycDocuments = new ApiKycDocuments($this);
}
}PK��[� ��F>F>tools/apiBase.incnu�[���<?php
namespace MangoPay;
/**
* Base class for MangoPay API managers
*/
abstract class ApiBase {
/**
* Root/parent instance that holds the OAuthToken and Configuration
instance
* @var \MangoPay\MangoPayApi
*/
protected $_root;
/**
* Array with REST url and request type
* @var array
*/
private $_methods = array(
'authentication_base' => array(
'/api/clients/', RequestType::POST ),
'authentication_oauth' => array( '/oauth/token
', RequestType::POST ),
'events_all' => array( '/events',
RequestType::GET ),
'hooks_create' => array( '/hooks',
RequestType::POST ),
'hooks_all' => array( '/hooks',
RequestType::GET ),
'hooks_get' => array( '/hooks/%s',
RequestType::GET ),
'hooks_save' => array( '/hooks/%s',
RequestType::PUT ),
'cardregistration_create' => array(
'/cardregistrations', RequestType::POST ),
'cardregistration_get' => array(
'/cardregistrations/%s', RequestType::GET ),
'cardregistration_save' => array(
'/cardregistrations/%s', RequestType::PUT ),
'preauthorization_create' => array(
'/preauthorizations/card/direct', RequestType::POST ),
'preauthorization_get' => array(
'/preauthorizations/%s', RequestType::GET ),
'preauthorization_save' => array(
'/preauthorizations/%s', RequestType::PUT ),
'card_get' => array( '/cards/%s',
RequestType::GET ),
'card_save' => array( '/cards/%s',
RequestType::PUT ),
// pay ins URLs
'payins_card-web_create' => array(
'/payins/card/web/', RequestType::POST ),
'payins_card-direct_create' => array(
'/payins/card/direct/', RequestType::POST ),
'payins_preauthorized-direct_create' => array(
'/payins/preauthorized/direct/', RequestType::POST ),
'payins_bankwire-direct_create' => array(
'/payins/bankwire/direct/', RequestType::POST ),
'payins_directdebit-web_create' => array(
'/payins/directdebit/web', RequestType::POST ),
'payins_get' => array( '/payins/%s',
RequestType::GET ),
'payins_getrefunds' => array(
'/payins/%s/refunds', RequestType::GET ),
'payins_createrefunds' => array(
'/payins/%s/refunds', RequestType::POST ),
'payouts_bankwire_create' => array(
'/payouts/bankwire/', RequestType::POST ),
'payouts_get' => array( '/payouts/%s',
RequestType::GET ),
'refunds_get' => array( '/refunds/%s',
RequestType::GET ),
'transfers_create' => array( '/transfers',
RequestType::POST ),
'transfers_get' => array( '/transfers/%s',
RequestType::GET ),
'transfers_getrefunds' => array(
'/transfers/%s/refunds', RequestType::GET ),
'transfers_createrefunds' => array(
'/transfers/%s/refunds', RequestType::POST ),
'users_createnaturals' => array(
'/users/natural', RequestType::POST ),
'users_createlegals' => array(
'/users/legal', RequestType::POST ),
'users_createbankaccounts_iban' => array(
'/users/%s/bankaccounts/iban', RequestType::POST ),
'users_createbankaccounts_gb' => array(
'/users/%s/bankaccounts/gb', RequestType::POST ),
'users_createbankaccounts_us' => array(
'/users/%s/bankaccounts/us', RequestType::POST ),
'users_createbankaccounts_ca' => array(
'/users/%s/bankaccounts/ca', RequestType::POST ),
'users_createbankaccounts_other' => array(
'/users/%s/bankaccounts/other', RequestType::POST ),
'users_all' => array( '/users',
RequestType::GET ),
'users_allwallets' => array(
'/users/%s/wallets', RequestType::GET ),
'users_allbankaccount' => array(
'/users/%s/bankaccounts', RequestType::GET ),
'users_allcards' => array(
'/users/%s/cards', RequestType::GET ),
'users_alltransactions' => array(
'/users/%s/transactions', RequestType::GET ),
'users_allkycdocuments' => array(
'/users/%s/KYC/documents', RequestType::GET ),
'users_get' => array( '/users/%s',
RequestType::GET ),
'users_getnaturals' => array(
'/users/natural/%s', RequestType::GET ),
'users_getlegals' => array(
'/users/legal/%s', RequestType::GET ),
'users_getbankaccount' => array(
'/users/%s/bankaccounts/%s', RequestType::GET ),
'users_savenaturals' => array(
'/users/natural/%s', RequestType::PUT ),
'users_savelegals' => array(
'/users/legal/%s', RequestType::PUT ),
'wallets_create' => array( '/wallets',
RequestType::POST ),
'wallets_alltransactions' => array(
'/wallets/%s/transactions', RequestType::GET ),
'wallets_get' => array( '/wallets/%s',
RequestType::GET ),
'wallets_save' => array( '/wallets/%s',
RequestType::PUT ),
'kyc_documents_create' => array(
'/users/%s/KYC/documents/', RequestType::POST ),
'kyc_documents_get' => array(
'/users/%s/KYC/documents/%s', RequestType::GET ),
'kyc_documents_save' => array(
'/users/%s/KYC/documents/%s', RequestType::PUT ),
'kyc_page_create' => array(
'/users/%s/KYC/documents/%s/pages', RequestType::POST ),
'kyc_documents_all' => array(
'/KYC/documents', RequestType::GET ),
// These are temporary functions and WILL be removed in the future.
// Please, contact with support before using these features or if
you have any questions.
'temp_paymentcards_create' => array(
'/temp/paymentcards', RequestType::POST ),
'temp_paymentcards_get' => array(
'/temp/paymentcards/%s', RequestType::GET ),
'temp_immediatepayins_create' => array(
'/temp/immediate-payins', RequestType::POST )
);
/**
* Constructor
* @param \MangoPay\MangoPayApi Root/parent instance that holds the
OAuthToken and Configuration instance
*/
function __construct($root) {
$this->_root = $root;
}
/**
* Get URL for REST Mango Pay API
* @param string $key Key with data
* @return string
*/
protected function GetRequestUrl($key){
return $this->_methods[$key][0];
}
/**
* Get request type for REST Mango Pay API
* @param string $key Key with data
* @return RequestType
*/
protected function GetRequestType($key){
return $this->_methods[$key][1];
}
/**
* Create object in API
* @param string $methodKey Key with request data
* @param object $entity Entity object
* @param object $responseClassName Name of entity class from response
* @param int $entityId Entity identifier
* @return object Response data
*/
protected function CreateObject($methodKey, $entity, $responseClassName
= null, $entityId = null, $subEntityId = null) {
if (is_null($entityId))
$urlMethod = $this->GetRequestUrl($methodKey);
elseif (is_null($subEntityId))
$urlMethod = sprintf($this->GetRequestUrl($methodKey),
$entityId);
else
$urlMethod = sprintf($this->GetRequestUrl($methodKey),
$entityId, $subEntityId);
$requestData = null;
if (!is_null($entity))
$requestData = $this->BuildRequestData($entity);
$rest = new RestTool(true, $this->_root);
$response = $rest->Request($urlMethod,
$this->GetRequestType($methodKey), $requestData);
if (!is_null($responseClassName))
return $this->CastResponseToEntity($response,
$responseClassName);
return $response;
}
/**
* Get entity object from API
* @param string $methodKey Key with request data
* @param int $entityId Entity identifier
* @param object $responseClassName Name of entity class from response
* @param int $secondEntityId Entity identifier for second entity
* @return object Response data
*/
protected function GetObject($methodKey, $entityId, $responseClassName
= null, $secondEntityId = null) {
$urlMethod = sprintf($this->GetRequestUrl($methodKey),
$entityId, $secondEntityId);
$rest = new RestTool(true, $this->_root);
$response = $rest->Request($urlMethod,
$this->GetRequestType($methodKey));
if (!is_null($responseClassName))
return $this->CastResponseToEntity($response,
$responseClassName);
return $response;
}
/**
* Get lst with entities object from API
* @param string $methodKey Key with request data
* @param \MangoPay\Pagination $pagination Pagination object
* @param object $responseClassName Name of entity class from response
* @param int $entityId Entity identifier
* @param object $filter Object to filter data
* @return object Response data
*/
protected function GetList($methodKey, & $pagination,
$responseClassName = null, $entityId = null, $filter = null, $sorting =
null) {
$urlMethod = sprintf($this->GetRequestUrl($methodKey),
$entityId);
if (is_null($pagination) || !is_object($pagination) ||
get_class($pagination) != 'MangoPay\Pagination') {
$pagination = new Pagination();
}
$rest = new RestTool(true, $this->_root);
$additionalUrlParams = array();
if (!is_null($filter))
$additionalUrlParams["filter"] = $filter;
if (!is_null($sorting)){
if (!is_a($sorting, "\MangoPay\Sorting"))
throw new Exception('Wrong type of sorting
object');
$additionalUrlParams["sort"] =
$sorting->GetSortParameter();
}
$response = $rest->Request($urlMethod,
$this->GetRequestType($methodKey), null, $pagination,
$additionalUrlParams);
if (!is_null($responseClassName))
return $this->CastResponseToEntity($response,
$responseClassName);
return $response;
}
/**
* Save object in API
* @param string $methodKey Key with request data
* @param object $entity Entity object to save
* @param object $responseClassName Name of entity class from response
* @return object Response data
*/
protected function SaveObject($methodKey, $entity, $responseClassName =
null, $secondEntityId = null) {
if (is_null($secondEntityId))
$urlMethod = sprintf($this->GetRequestUrl($methodKey),
$entity->Id);
else
$urlMethod = sprintf($this->GetRequestUrl($methodKey),
$secondEntityId, $entity->Id);
$requestData = $this->BuildRequestData($entity);
$rest = new RestTool(true, $this->_root);
$response = $rest->Request($urlMethod,
$this->GetRequestType($methodKey), $requestData);
if (!is_null($responseClassName))
return $this->CastResponseToEntity($response,
$responseClassName);
return $response;
}
/**
* Cast response object to entity object
* @param object $response Object from API response
* @param string $entityClassName Name of entity class to cast
* @return \MangoPay\$entityClassName Return entity object
*/
protected function CastResponseToEntity($response, $entityClassName,
$asDependentObject = false)
{
if (is_array($response)) {
$list = array();
foreach ($response as $responseObject) {
array_push($list,
$this->CastResponseToEntity($responseObject, $entityClassName));
}
return $list;
}
if (is_string($entityClassName)) {
$entity = new $entityClassName();
} else {
throw new Exception('Cannot cast response to entity
object. Wrong entity class name');
}
$responseReflection = new \ReflectionObject($response);
$entityReflection = new \ReflectionObject($entity);
$responseProperties = $responseReflection->getProperties();
$subObjects = $entity->GetSubObjects();
$dependsObjects = $entity->GetDependsObjects();
foreach ($responseProperties as $responseProperty) {
$responseProperty->setAccessible(true);
$name = $responseProperty->getName();
$value = $responseProperty->getValue($response);
if ($entityReflection->hasProperty($name)) {
$entityProperty =
$entityReflection->getProperty($name);
$entityProperty->setAccessible(true);
// is sub object?
if (isset($subObjects[$name])) {
if (is_null($value))
$object = null;
else
$object = $this->CastResponseToEntity($value,
$subObjects[$name]);
$entityProperty->setValue($entity, $object);
} else {
$entityProperty->setValue($entity, $value);
}
// has dependent object?
if (isset($dependsObjects[$name])) {
$dependsObject = $dependsObjects[$name];
$entityDependProperty =
$entityReflection->getProperty($dependsObject['_property_name']);
$entityDependProperty->setAccessible(true);
$entityDependProperty->setValue($entity,
$this->CastResponseToEntity($response, $dependsObject[$value], true));
}
} else {
if ($asDependentObject || !empty($dependsObjects)) {
continue;
}
else {
/* UNCOMMENT THE LINE BELOW TO ENABLE RESTRICTIVE REFLECTION MODE */
//throw new Exception('Cannot cast response to entity object.
Missing property ' . $name .' in entity ' .
$entityClassName);
continue;
}
}
}
return $entity;
}
/**
* Get array with request data
* @param object $entity Entity object to send as request data
* @return array
*/
protected function BuildRequestData($entity) {
$entityProperties = get_object_vars($entity);
$blackList = $entity->GetReadOnlyProperties();
$requestData = array();
foreach ($entityProperties as $propertyName => $propertyValue)
{
if (in_array($propertyName, $blackList))
continue;
if ($this->CanReadSubRequestData($entity, $propertyName)) {
$subRequestData =
$this->BuildRequestData($propertyValue);
foreach ($subRequestData as $key => $value) {
$requestData[$key] = $value;
}
} else {
if (isset($propertyValue))
$requestData[$propertyName] = $propertyValue;
}
}
return $requestData;
}
private function CanReadSubRequestData($entity, $propertyName) {
if (get_class($entity) == 'MangoPay\PayIn' &&
($propertyName == 'PaymentDetails' ||
$propertyName == 'ExecutionDetails')) {
return true;
}
if (get_class($entity) == 'MangoPay\PayOut' &&
$propertyName == 'MeanOfPaymentDetails') {
return true;
}
if (get_class($entity) == 'MangoPay\BankAccount'
&& $propertyName == 'Details' ) {
return true;
}
return false;
}
}PK��[��Zii"tools/apiCardPreAuthorizations.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for pre-authorization process
*/
class ApiCardPreAuthorizations extends ApiBase {
/**
* Create new pre-authorization object
* @param \MangoPay\CardPreAuthorization $cardPreAuthorization
PreAuthorization object to create
* @return \MangoPay\CardPreAuthorization PreAuthorization object
returned from API
*/
public function Create($cardPreAuthorization) {
return $this->CreateObject('preauthorization_create',
$cardPreAuthorization, '\MangoPay\CardPreAuthorization');
}
/**
* Get pre-authorization object
* @param int $cardPreAuthorizationId PreAuthorization identifier
* @return \MangoPay\CardPreAuthorization Card registration object
returned from API
*/
public function Get($cardPreAuthorizationId) {
return $this->GetObject('preauthorization_get',
$cardPreAuthorizationId, '\MangoPay\CardPreAuthorization');
}
/**
* Update pre-authorization object
* @param \MangoPay\CardPreAuthorization $preAuthorization
PreAuthorization object to save
* @return \MangoPay\CardPreAuthorization PreAuthorization object
returned from API
*/
public function Update($cardPreAuthorization) {
return $this->SaveObject('preauthorization_save',
$cardPreAuthorization, '\MangoPay\CardPreAuthorization');
}
}PK��[��t�00tools/apiCardRegistrations.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for card registrations
*/
class ApiCardRegistrations extends ApiBase {
/**
* Create new card registration
* @param \MangoPay\CardRegistration $cardRegistration Card
registration object to create
* @return \MangoPay\CardRegistration Card registration object returned
from API
*/
public function Create($cardRegistration) {
return $this->CreateObject('cardregistration_create',
$cardRegistration, '\MangoPay\CardRegistration');
}
/**
* Get card registration
* @param int $cardRegistrationId Card Registration identifier
* @return \MangoPay\CardRegistration Card registration object
returned from API
*/
public function Get($cardRegistrationId) {
return $this->GetObject('cardregistration_get',
$cardRegistrationId, '\MangoPay\CardRegistration');
}
/**
* Update card registration
* @param \MangoPay\CardRegistration $cardRegistration Card
registration object to save
* @return \MangoPay\CardRegistration Card registration object returned
from API
*/
public function Update($cardRegistration) {
return $this->SaveObject('cardregistration_save',
$cardRegistration, '\MangoPay\CardRegistration');
}
}PK��[r��$$tools/apiCards.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for cards
*/
class ApiCards extends ApiBase {
/**
* Get card
* @param int $cardId Card identifier
* @return \MangoPay\Card object returned from API
*/
public function Get($cardId) {
return $this->GetObject('card_get', $cardId,
'\MangoPay\Card');
}
/**
* Update card
* @param \MangoPay\Card $card Card object to save
* @return \MangoPay\Card Card object returned from API
*/
public function Update($card) {
return $this->SaveObject('card_save', $card,
'\MangoPay\Card');
}
/**
* WARNING!!
* It's temporary entity and it will be removed in the future.
* Please, contact with support before using these features or if you
have any questions.
*
* Create new temporary payment card
* @param \MangoPay\TemporaryPaymentCard $paymentCard Payment card
object to create
* @return \MangoPay\TemporaryPaymentCard Card registration object
returned from API
*/
public function CreateTemporaryPaymentCard($paymentCard) {
return $this->CreateObject('temp_paymentcards_create',
$paymentCard, '\MangoPay\TemporaryPaymentCard');
}
/**
* WARNING!!
* It's temporary entity and it will be removed in the future.
* Please, contact with support before using these features or if you
have any questions.
*
* Get temporary payment card
* @param string $paymentCardId Card identifier
* @return \MangoPay\TemporaryPaymentCard object returned from API
*/
public function GetTemporaryPaymentCard($paymentCardId) {
return $this->GetObject('temp_paymentcards_get',
$paymentCardId, '\MangoPay\TemporaryPaymentCard');
}
}PK��[�~_��tools/apiClients.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for users
*/
class ApiClients extends ApiBase {
/**
* Get client data for Basic Access Authentication
* @param string $clientId Client identifier
* @param string $clientName Beautiful name for presentation
* @param string $clientEmail Client's email
* @return \MangoPay\Client Client object
*/
public function Create($clientId, $clientName, $clientEmail) {
$urlMethod =
$this->GetRequestUrl('authentication_base');
$requestType =
$this->GetRequestType('authentication_base');
$requestData = array(
'ClientId' => $clientId,
'Name' => $clientName,
'Email' => $clientEmail,
);
$rest = new RestTool(false, $this->_root);
$response = $rest->Request($urlMethod, $requestType,
$requestData);
return $this->CastResponseToEntity($response,
'\MangoPay\Client');
}
}PK��[�H��tools/apiEvents.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for cards
*/
class ApiEvents extends ApiBase {
/**
* Get events
* @param \MangoPay\Pagination $pagination Pagination object
* @param \MangoPay\FilterEvents $filter Object to filter data
* @return \MangoPay\Event[] Events list
*/
public function GetAll(& $pagination = null, $filter = null) {
return $this->GetList('events_all', $pagination,
'\MangoPay\Event', null, $filter);
}
}
PK��[q̡���tools/apiHooks.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for hooks and notifications
*/
class ApiHooks extends ApiBase {
/**
* Create new hook
* @param Hook $hook
* @return \MangoPay\Hook Hook object returned from API
*/
public function Create($hook) {
return $this->CreateObject('hooks_create', $hook,
'\MangoPay\Hook');
}
/**
* Get hook
* @param type $hookId Hook identifier
* @return \MangoPay\Hook Wallet object returned from API
*/
public function Get($hookId) {
return $this->GetObject('hooks_get', $hookId,
'\MangoPay\Hook');
}
/**
* Save hook
* @param type $hook Hook object to save
* @return \MangoPay\Hook Hook object returned from API
*/
public function Update($hook) {
return $this->SaveObject('hooks_save', $hook,
'\MangoPay\Hook');
}
/**
* Get all hooks
* @param \MangoPay\Pagination $pagination Pagination object
* @return \MangoPay\Hook[] Array with objects returned from API
*/
public function GetAll(& $pagination = null) {
return $this->GetList('hooks_all', $pagination,
'\MangoPay\Hook');
}
}PK��[fj��??tools/apiKycDocuments.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for KYC document list
*/
class ApiKycDocuments extends ApiBase {
/**
* Get all KYC documents
* @param \MangoPay\Pagination $pagination Pagination object
* @param \MangoPay\Sorting $sorting Object to sorting data
* @return \MangoPay\KycDocument[] Array with objects returned from API
*/
public function GetAll(& $pagination = null, $sorting = null) {
return $this->GetList('kyc_documents_all',
$pagination, '\MangoPay\KycDocument', null, null, $sorting);
}
}PK��[g*�m{{tools/apiOAuth.incnu�[���<?php
namespace MangoPay;
/**
* Authentication manager
*/
class ApiOAuth extends ApiBase {
/**
* Get token information to OAuth Authentication
* @return \MangoPay\OAuthToken OAuthToken object with token
information
*/
public function CreateToken() {
$urlMethod =
$this->GetRequestUrl('authentication_oauth');
$requestType =
$this->GetRequestType('authentication_oauth');
$requestData = array(
'grant_type' => 'client_credentials'
);
$rest = new RestTool(false, $this->_root);
$authHlp = new AuthenticationHelper($this->_root);
$urlDetails = parse_url($this->_root->Config->BaseUrl);
$rest->AddRequestHttpHeader('Host: ' .
@$urlDetails['host']);
$rest->AddRequestHttpHeader('Authorization: Basic ' .
$authHlp->GetHttpHeaderBasicKey());
$rest->AddRequestHttpHeader('Content-Type:
application/x-www-form-urlencoded');
$response = $rest->Request($urlMethod, $requestType,
$requestData);
return $this->CastResponseToEntity($response,
'\MangoPay\OAuthToken');
}
}PK��[�D���tools/apiPayIns.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for pay-ins
*/
class ApiPayIns extends ApiBase {
/**
* Create new pay-in object
* @param \MangoPay\PayIn $payIn \MangoPay\PayIn object
* @return \MangoPay\PayIn Object returned from API
*/
public function Create($payIn) {
$paymentKey = $this->GetPaymentKey($payIn);
$executionKey = $this->GetExecutionKey($payIn);
return $this->CreateObject('payins_' . $paymentKey .
'-' . $executionKey . '_create', $payIn,
'\MangoPay\PayIn');
}
/**
* Get pay-in object
* @param $payInId Pay-in identifier
* @return \MangoPay\PayIn Object returned from API
*/
public function Get($payInId) {
return $this->GetObject('payins_get', $payInId,
'\MangoPay\PayIn');
}
/**
* Create refund for pay-in object
* @param type $payInId Pay-in identifier
* @param \MangoPay\Refund $refund Refund object to create
* @return \MangoPay\Refund Object returned by REST API
*/
public function CreateRefund($payInId, $refund) {
return $this->CreateObject('payins_createrefunds',
$refund, '\MangoPay\Refund', $payInId);
}
/**
* Get refund for pay-in object
* @param type $payInId Pay-in identifier
* @return \MangoPay\Refund Object returned by REST API
*/
public function GetRefund($payInId) {
return $this->GetObject('payins_getrefunds', $payInId,
'\MangoPay\Refund');
}
/**
* WARNING!!
* It's temporary entity and it will be removed in the future.
* Please, contact with support before using these features or if you
have any questions.
*
* Create new temporary immediate pay-in
* @param \MangoPay\TemporaryImmediatePayIn $immediatePayIn Immediate
pay-in object to create
* @return \MangoPay\TemporaryImmediatePayIn Immediate pay-in object
returned from API
*/
public function CreateTemporaryImmediatePayIn($immediatePayIn) {
return
$this->CreateObject('temp_immediatepayins_create',
$immediatePayIn, '\MangoPay\TemporaryImmediatePayIn');
}
private function GetPaymentKey($payIn) {
if (!isset($payIn->PaymentDetails) ||
!is_object($payIn->PaymentDetails))
throw new Exception ('Payment is not defined or it is not
object type');
$className = str_replace('MangoPay\\PayInPaymentDetails',
'', get_class($payIn->PaymentDetails));
return strtolower($className);
}
private function GetExecutionKey($payIn) {
if (!isset($payIn->ExecutionDetails) ||
!is_object($payIn->ExecutionDetails))
throw new Exception ('Execution is not defined or it is
not object type');
$className =
str_replace('MangoPay\\PayInExecutionDetails', '',
get_class($payIn->ExecutionDetails));
return strtolower($className);
}
}PK��[�3�qqtools/apiPayOuts.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for pay-outs
*/
class ApiPayOuts extends ApiBase {
/**
* Create new pay-out
* @param PayOut $payOut
* @return \MangoPay\PayOut Object returned from API
*/
public function Create($payOut) {
$paymentKey = $this->GetPaymentKey($payOut);
return $this->CreateObject('payouts_' . $paymentKey .
'_create', $payOut, '\MangoPay\PayOut');
}
/**
* Get pay-out object
* @param $payOutId PayOut identifier
* @return \MangoPay\PayOut Object returned from API
*/
public function Get($payOutId) {
return $this->GetObject('payouts_get', $payOutId,
'\MangoPay\PayOut');
}
private function GetPaymentKey($payOut) {
if (!isset($payOut->MeanOfPaymentDetails) ||
!is_object($payOut->MeanOfPaymentDetails))
throw new Exception('Mean of payment is not defined or it
is not object type');
$className =
str_replace('MangoPay\\PayOutPaymentDetails', '',
get_class($payOut->MeanOfPaymentDetails));
return strtolower($className);
}
}PK��[�"���tools/apiRefunds.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for refunds
*/
class ApiRefunds extends ApiBase {
/**
* Get refund object
* @param string $refundId Refund Id
* @return \MangoPay\Refund Refund object returned from API
*/
public function Get($refundId) {
return $this->GetObject('refunds_get', $refundId,
'\MangoPay\Refund');
}
}PK��[�����tools/apiTransfers.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for transfers
*/
class ApiTransfers extends ApiBase {
/**
* Create new transfer
* @param \MangoPay\Transfer $transfer
* @return \MangoPay\Transfer Transfer object returned from API
*/
public function Create($transfer) {
return $this->CreateObject('transfers_create',
$transfer, '\MangoPay\Transfer');
}
/**
* Get transfer
* @param type $transferId Transfer identifier
* @return \MangoPay\Transfer Transfer object returned from API
*/
public function Get($transfer) {
return $this->GetObject('transfers_get', $transfer,
'\MangoPay\Transfer');
}
/**
* Create refund for transfer object
* @param type $transferId Transfer identifier
* @param \MangoPay\Refund $refund Refund object to create
* @return \MangoPay\Refund Object returned by REST API
*/
public function CreateRefund($transferId, $refund) {
return $this->CreateObject('transfers_createrefunds',
$refund, '\MangoPay\Refund', $transferId);
}
/**
* Get refund for transfer object
* @param type $transferId Transfer identifier
* @return \MangoPay\Refund Object returned by REST API
*/
public function GetRefund($transferId) {
return $this->GetObject('transfers_getrefunds',
$transferId, '\MangoPay\Refund');
}
}
PK��[MȌ t(t(tools/apiUsers.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for users
*/
class ApiUsers extends ApiBase {
/**
* Create a new user
* @param UserLegal/UserNatural $user
* @return UserLegal/UserNatural User object returned from API
*/
public function Create($user) {
$className = get_class($user);
if ($className == 'MangoPay\UserNatural')
$methodKey = 'users_createnaturals';
elseif ($className == 'MangoPay\UserLegal')
$methodKey = 'users_createlegals';
else
throw new Exception('Wrong entity class for user');
$response = $this->CreateObject($methodKey, $user);
return $this->GetUserResponse($response);
}
/**
* Get all users
* @param \MangoPay\Pagination $pagination Pagination object
* @return array Array with users
*/
public function GetAll(& $pagination = null) {
$usersList = $this->GetList('users_all',
$pagination);
$users = array();
if (is_array($usersList)) {
foreach ($usersList as $user) {
array_push($users, $this->GetUserResponse($user));
}
}
return $users;
}
/**
* Get natural or legal user by ID
* @param Int/GUID $userId User identifier
* @return UserLegal/UserNatural User object returned from API
*/
public function Get($userId) {
$response = $this->GetObject('users_get', $userId);
return $this->GetUserResponse($response);
}
/**
* Get natural user by ID
* @param Int/GUID $userId User identifier
* @return UserLegal/UserNatural User object returned from API
*/
public function GetNatural($userId) {
$response = $this->GetObject('users_getnaturals',
$userId);
return $this->GetUserResponse($response);
}
/**
* Get legal user by ID
* @param Int/GUID $userId User identifier
* @return UserLegal/UserNatural User object returned from API
*/
public function GetLegal($userId) {
$response = $this->GetObject('users_getlegals',
$userId);
return $this->GetUserResponse($response);
}
/**
* Save user
* @param UserLegal/UserNatural $user
* @return UserLegal/UserNatural User object returned from API
*/
public function Update($user) {
$className = get_class($user);
if ($className == 'MangoPay\UserNatural')
$methodKey = 'users_savenaturals';
elseif ($className == 'MangoPay\UserLegal')
$methodKey = 'users_savelegals';
else
throw new Exception('Wrong entity class for user');
$response = $this->SaveObject($methodKey, $user);
return $this->GetUserResponse($response);
}
/**
* Create bank account for user
* @param int $userId User Id
* @param \MangoPay\BankAccount $bankAccount Entity of bank account
object
* @return \MangoPay\BankAccount Create bank account object
*/
public function CreateBankAccount($userId, $bankAccount) {
$type = $this->GetBankAccountType($bankAccount);
return $this->CreateObject('users_createbankaccounts_'
. $type, $bankAccount, '\MangoPay\BankAccount', $userId);
}
/**
* Get all bank accounts for user
* @param int $userId User Id
* @param \MangoPay\Pagination $pagination Pagination object
* @param \MangoPay\Sorting $sorting Object to sorting data
* @return array Array with bank account entities
*/
public function GetBankAccounts($userId, & $pagination = null,
$sorting = null) {
return $this->GetList('users_allbankaccount',
$pagination, 'MangoPay\BankAccount', $userId, null, $sorting);
}
/**
* Get bank account for user
* @param int $userId User Id
* @param int $bankAccountId Bank account Id
* @return \MangoPay\BankAccount Entity of bank account object
*/
public function GetBankAccount($userId, $bankAccountId) {
return $this->GetObject('users_getbankaccount',
$userId, 'MangoPay\BankAccount', $bankAccountId);
}
/**
* Get all wallets for user
* @param int $userId User Id
* @param \MangoPay\Pagination $pagination Pagination object
* @param \MangoPay\Sorting $sorting Object to sorting data
* @return \MangoPay\Wallet[] Array with objects returned from API
*/
public function GetWallets($userId, & $pagination = null, $sorting
= null) {
return $this->GetList('users_allwallets', $pagination,
'MangoPay\Wallet', $userId, null, $sorting);
}
/**
* Get all transactions for user
* @param int $userId User Id
* @param \MangoPay\Pagination $pagination Pagination object
* @param \MangoPay\FilterTransactions $filter Object to filter data
* @param \MangoPay\Sorting $sorting Object to sorting data
* @return \MangoPay\Transaction[] Transactions for user returned from
API
*/
public function GetTransactions($userId, & $pagination = null,
$filter = null, $sorting = null) {
return $this->GetList('users_alltransactions',
$pagination, '\MangoPay\Transaction', $userId, $filter,
$sorting);
}
/**
* Get all cards for user
* @param int $userId User Id
* @param \MangoPay\Pagination $pagination Pagination object
* @param \MangoPay\Sorting $sorting Object to sorting data
* @return \MangoPay\Card[] Cards for user returned from API
*/
public function GetCards($userId, & $pagination = null, $sorting =
null) {
return $this->GetList('users_allcards', $pagination,
'\MangoPay\Card', $userId, null, $sorting);
}
/**
* Create new KYC document
* @param int $userId User Id
* @param \MangoPay\KycDocument $kycDocument
* @return \MangoPay\KycDocument Document returned from API
*/
public function CreateKycDocument($userId, $kycDocument) {
return $this->CreateObject('kyc_documents_create',
$kycDocument, '\MangoPay\KycDocument', $userId);
}
/**
* Get all KYC documents for user
* @param int $userId User Id
* @param \MangoPay\Pagination $pagination Pagination object
* @param \MangoPay\Sorting $sorting Object to sorting data
* @return array Array with KYC documents entities
*/
public function GetKycDocuments($userId, & $pagination = null,
$sorting = null) {
return $this->GetList('users_allkycdocuments',
$pagination, 'MangoPay\KycDocument', $userId, null, $sorting);
}
/**
* Get KYC document
* @param int $userId User Id
* @param string $kycDocumentId Document identifier
* @return \MangoPay\KycDocument Document returned from API
*/
public function GetKycDocument($userId, $kycDocumentId) {
return $this->GetObject('kyc_documents_get', $userId,
'\MangoPay\KycDocument', $kycDocumentId);
}
/**
* Save KYC document
* @param int $userId User Id
* @param \MangoPay\KycDocument $kycDocument Document to save
* @return \MangoPay\KycDocument Document returned from API
*/
public function UpdateKycDocument($userId, $kycDocument) {
return $this->SaveObject('kyc_documents_save',
$kycDocument, '\MangoPay\KycDocument', $userId);
}
/**
* Create page for Kyc document
* @param int $userId User Id
* @param \MangoPay\KycPage $page Kyc
*/
public function CreateKycPage($userId, $kycDocumentId, $kycPage) {
try{
$this->CreateObject('kyc_page_create', $kycPage,
null, $userId, $kycDocumentId);
} catch (\MangoPay\ResponseException $exc) {
if ($exc->getCode() != 204)
throw $exc;
}
}
/**
* Create page for Kyc document from file
* @param int $userId User Id
* @param \MangoPay\KycPage $page Kyc
*/
public function CreateKycPageFromFile($userId, $kycDocumentId, $file)
{
$filePath = $file;
if (is_array($file)) {
$filePath = $file['tmp_name'];
}
if (empty($filePath))
throw new \MangoPay\Exception('Path of file cannot be
empty');
if (!file_exists($filePath))
throw new \MangoPay\Exception('File not exist');
$kycPage = new \MangoPay\KycPage();
$kycPage->File = base64_encode(file_get_contents($filePath));
if (empty($kycPage->File))
throw new \MangoPay\Exception('Content of the file cannot
be empty');
$this->CreateKycPage($userId, $kycDocumentId, $kycPage);
}
/**
* Get correct user object
* @param object $response Response from API
* @return UserLegal/UserNatural User object returned from API
* @throws \MangoPay\Exception If occur unexpected response from API
*/
private function GetUserResponse($response) {
if (isset($response->PersonType)) {
switch ($response->PersonType) {
case PersonType::Natural:
return $this->CastResponseToEntity($response,
'\MangoPay\UserNatural');
case PersonType::Legal:
return $this->CastResponseToEntity($response,
'\MangoPay\UserLegal');
default:
throw new Exception('Unexpected response. Wrong
PersonType value');
}
} else {
throw new Exception('Unexpected response. Missing
PersonType property');
}
}
private function GetBankAccountType($bankAccount) {
if (!isset($bankAccount->Details) ||
!is_object($bankAccount->Details))
throw new Exception ('Details is not defined or it is not
object type');
$className = str_replace('MangoPay\\BankAccountDetails',
'', get_class($bankAccount->Details));
return strtolower($className);
}
}
PK��[�8M�tools/apiWallets.incnu�[���<?php
namespace MangoPay;
/**
* Class to management MangoPay API for wallets
*/
class ApiWallets extends ApiBase {
/**
* Create new wallet
* @param Wallet $wallet
* @return \MangoPay\Wallet Wallet object returned from API
*/
public function Create($wallet) {
return $this->CreateObject('wallets_create', $wallet,
'\MangoPay\Wallet');
}
/**
* Get wallet
* @param int $walletId Wallet identifier
* @return \MangoPay\Wallet Wallet object returned from API
*/
public function Get($walletId) {
return $this->GetObject('wallets_get', $walletId,
'\MangoPay\Wallet');
}
/**
* Save wallet
* @param Wallet $wallet Wallet object to save
* @return \MangoPay\Wallet Wallet object returned from API
*/
public function Update($wallet) {
return $this->SaveObject('wallets_save', $wallet,
'\MangoPay\Wallet');
}
/**
* Get transactions for the wallet
* @param type $walletId Wallet identifier
* @param \MangoPay\Pagination $pagination Pagination object
* @param \MangoPay\FilterTransactions $filter Object to filter data
* @param \MangoPay\Sorting $sorting Object to sorting data
* @return \MangoPay\Transaction[] Transactions for wallet returned
from API
*/
public function GetTransactions($walletId, & $pagination = null,
$filter = null, $sorting = null) {
return $this->GetList('wallets_alltransactions',
$pagination, '\MangoPay\Transaction', $walletId, $filter,
$sorting);
}
}
PK��[C�a� � tools/authenticationHelper.incnu�[���<?php
namespace MangoPay;
class AuthenticationHelper {
/**
* Root/parent instance that holds the OAuth token and Configuration
instance
* @var \MangoPay\MangoPayApi
*/
private $_root;
/**
* Constructor
* @param \MangoPay\MangoPayApi Root/parent instance that holds the
OAuth token and Configuration instance
*/
function __construct($root) {
$this->_root = $root;
}
/**
* Get HTTP header value with authorization string
* @return string Authorization string
*/
public function GetHttpHeaderKey(){
return $this->GetHttpHeaderStrong();
}
/**
* Get basic key for HTTP header
* @return string
* @throws \MangoPay\Exception If MangoPay_ClientId or
MangoPay_ClientPassword is not defined
*/
public function GetHttpHeaderBasicKey() {
if (is_null($this->_root->Config->ClientId) ||
strlen($this->_root->Config->ClientId) == 0)
throw new Exception ('MangoPayApi.Config.ClientId is not
set.');
if (is_null($this->_root->Config->ClientPassword) ||
strlen($this->_root->Config->ClientPassword) == 0)
throw new Exception ('MangoPayApi.Config.ClientPassword is
not set.');
$signature = $this->_root->Config->ClientId .
':' . $this->_root->Config->ClientPassword;
return base64_encode($signature);
}
/**
* Get HTTP header value with authorization string for basic
authentication
*
* @return string Value for HTTP header with authentication string
* @throws \MangoPay\Exception If required constants are not defined.
*/
private function GetHttpHeaderBasic() {
return 'Authorization: Basic ' .
$this->GetHttpHeaderBasicKey();
}
/**
* Get HTTP header value with authorization string for strong
authentication
*
* @return string Value for HTTP header with authentication string
* @throws \MangoPay\Exception If OAuth token is not created (or is
invalid) for strong authentication.
*/
private function GetHttpHeaderStrong() {
$token = $this->_root->OAuthTokenManager->GetToken();
if (is_null($token) || !isset($token->access_token) ||
!isset($token->token_type))
throw new Exception ('OAuth token is not created (or is
invalid) for strong authentication');
return 'Authorization: ' . $token->token_type . '
' . $token->access_token;
}
}PK��[�U
T55#tools/authorizationTokenManager.incnu�[���<?php
namespace MangoPay;
/**
* Authorization token manager
*/
class AuthorizationTokenManager extends ApiBase {
/**
* Storage object
* @var \MangoPay\IStorageStrategy
*/
private $_storageStrategy;
function __construct($root) {
$this->_root = $root;
$this->RegisterCustomStorageStrategy(new
DefaultStorageStrategy($this->_root->Config));
}
/**
* Gets the current authorization token.
* In the very first call, this method creates a new token before
returning.
* If currently stored token is expired, this method creates a new
one.
* @return \MangoPay\OAuthToken Valid OAuthToken instance.
*/
public function GetToken() {
$token = $this->_storageStrategy->get();
if (is_null($token) || $token->IsExpired()) {
$this->storeToken($this->_root->AuthenticationManager->createToken());
}
return $this->_storageStrategy->get();
}
/**
* Stores authorization token passed as an argument in the underlying
* storage strategy implementation.
* @param \MangoPay\OAuthToken $token Token instance to be stored.
*/
public function StoreToken($token) {
$this->_storageStrategy->Store($token);
}
/**
* Registers custom storage strategy implementation.
* By default, the DefaultStorageStrategy instance is used.
* There is no need to explicitly call this method until some more
complex
* storage implementation is needed.
* @param \MangoPay\IStorageStrategy $customStorageStrategy
IStorageStrategy interface implementation.
*/
public function RegisterCustomStorageStrategy($customStorageStrategy)
{
$this->_storageStrategy = $customStorageStrategy;
}
}PK��[�#aCMM
tools/defaultStorageStrategy.incnu�[���<?php
namespace MangoPay;
/**
* Default storage strategy implementation.
*/
class DefaultStorageStrategy implements IStorageStrategy {
private $_prefixContent = '<?php exit(); ?>';
private $_fileName = 'MangoPaySdkStorage.tmp.php';
private $_config;
function __construct($config) {
$this->_config = $config;
}
/**
* Gets the current authorization token.
* @return \MangoPay\OAuthToken Currently stored token instance or
null.
*/
public function Get() {
$filename = $this->GetPathToFile();
if (!file_exists($filename))
return null;
$data = file_get_contents($filename);
if ($data === false)
return null;
$serialized = str_replace($this->_prefixContent, '',
$data);
return unserialize($serialized);
}
/**
* Stores authorization token passed as an argument.
* @param \MangoPay\OAuthToken $token Token instance to be stored.
*/
public function Store($token) {
if (!is_writable($this->GetPathToTemporaryFolder()))
throw new \MangoPay\Exception('Cannot create or write to
file ' . $this->GetPathToTemporaryFolder());
$serialized = serialize($token);
$result = file_put_contents($this->GetPathToFile(),
$this->_prefixContent . $serialized, LOCK_EX);
if ($result === false)
throw new \MangoPay\Exception('Cannot put token to
file');
}
/**
* Get path to storage file
* @return string
*/
private function GetPathToFile() {
return $this->GetPathToTemporaryFolder() . DIRECTORY_SEPARATOR .
$this->_fileName;
}
/**
* Get path to temporary folder
* @return string
*/
private function GetPathToTemporaryFolder() {
if (is_null($this->_config->TemporaryFolder))
throw new \MangoPay\Exception('Path to temporary folder is
not defined');
return $this->_config->TemporaryFolder;
}
}PK��[�`���tools/enums.incnu�[���<?php
namespace MangoPay;
/**
* Request type enum
*/
class RequestType {
const GET = 'GET';
const POST = 'POST';
const PUT = 'PUT';
const DELETE = 'DELETE';
}
/**
* Person type for users
*/
class PersonType {
const Natural = 'NATURAL';
const Legal = 'LEGAL';
}
/**
* Event types
*/
class EventType {
const KycCreated = "KYC_CREATED";
const KycSucceeded = "KYC_SUCCEEDED";
const KycFailed = "KYC_FAILED";
const KycValidationAsked = "KYC_VALIDATION_ASKED ";
const PayinNormalCreated = "PAYIN_NORMAL_CREATED";
const PayinNormalSucceeded = "PAYIN_NORMAL_SUCCEEDED";
const PayinNormalFailed = "PAYIN_NORMAL_FAILED";
const PayoutNormalCreated = "PAYOUT_NORMAL_CREATED";
const PayoutNormalSucceeded = "PAYOUT_NORMAL_SUCCEEDED";
const PayoutNormalFailed = "PAYOUT_NORMAL_FAILED";
const TransferNormalCreated = "TRANSFER_NORMAL_CREATED";
const TransferNormalSucceeded = "TRANSFER_NORMAL_SUCCEEDED";
const TransferNormalFailed = "TRANSFER_NORMAL_FAILED";
const PayinRefundCreated = "PAYIN_REFUND_CREATED";
const PayinRefundSucceeded = "PAYIN_REFUND_SUCCEEDED";
const PayinRefundFailed = "PAYIN_REFUND_FAILED";
const PayoutRefundCreated = "PAYOUT_REFUND_CREATED";
const PayoutRefundSucceeded = "PAYOUT_REFUND_SUCCEEDED";
const PayoutRefundFailed = "PAYOUT_REFUND_FAILED";
const TransferRefundCreated = "TRANSFER_REFUND_CREATED";
const TransferRefundSucceeded = "TRANSFER_REFUND_SUCCEEDED";
const TransferRefundFailed = "TRANSFER_REFUND_FAILED";
}
/**
* KYC document types
*/
class KycDocumentType {
const IdentityProof = 'IDENTITY_PROOF';
const RegistrationProof = 'REGISTRATION_PROOF';
const ArticlesOfAssociation = 'ARTICLES_OF_ASSOCIATION';
const ShareholderDeclaration = 'SHAREHOLDER_DECLARATION';
const AddressProof = 'ADDRESS_PROOF';
}
/**
* KYC document statuses
*/
class KycDocumentStatus{
const Created = 'CREATED';
const ValidationAsked = 'VALIDATION_ASKED';
const Validated = 'VALIDATED';
const Refused = 'REFUSED';
}
class CardValidity {
const Unknown = 'UNKNOWN';
const Valid = 'VALID';
const Invalid = 'INVALID';
}
class SortDirection {
const DESC = 'desc';
const ASC = 'asc';
}PK��[2�SҘ�tools/filterBase.incnu�[���<?php
namespace MangoPay;
/**
* Base filter object
*/
class FilterBase extends Dto {
/**
* Start date in unix format:
* return only records that have CreationDate BEFORE this date
* @var time
*/
public $BeforeDate;
/**
* End date in unix format:
* return only records that have CreationDate AFTER this date
* @var time
*/
public $AfterDate;
}PK��[p��2��tools/filterEvents.incnu�[���<?php
namespace MangoPay;
/**
* Filter for event list
*/
class FilterEvents extends FilterBase {
/**
* Event type
* @var \MangoPay\EventType
*/
public $EventType;
}
PK��[�ľ11tools/filterTransactions.incnu�[���<?php
namespace MangoPay;
/**
* Filter for transaction list
*/
class FilterTransactions extends FilterBase {
/**
* TransactionStatus {CREATED, SUCCEEDED, FAILED}
* @var string
*/
public $Status;
/**
* TransactionType {PAYIN, PAYOUT, TRANSFER}
* @var string
*/
public $Type;
/**
* TransactionNature { REGULAR, REFUND, REPUDIATION }
* @var string
*/
public $Nature;
/**
* TransactionDirection {DEBIT, CREDIT}
* @var string
*/
public $Direction;
}PK��[�#o,,tools/index.htmlnu�[���<html><body
bgcolor="#FFFFFF"></body></html>PK��[~/���tools/iStorageStrategy.incnu�[���<?php
namespace MangoPay;
/**
* Storage strategy interface.
*/
interface IStorageStrategy {
/**
* Gets the current authorization token.
* @return \MangoPay\OAuthToken Currently stored token instance or
null.
*/
function Get();
/**
* Stores authorization token passed as an argument.
* @param \MangoPay\OAuthToken $token Token instance to be stored.
*/
function Store($token);
}PK��[>��00tools/logs.incnu�[���<?php
namespace MangoPay;
/**
* Class to manage debug logs in MangoPay SDK
*/
class Logs {
public static function Debug($message, $data){
print '<pre>';
print $message . ': ';
print_r($data);
print
'<br/>-------------------------------</pre>';
}
}PK��[zk��L'L'tools/restTool.incnu�[���<?php
namespace MangoPay;
/**
* Class to prepare HTTP request, call the request and decode the response
*/
class RestTool {
/**
* Root/parent instance that holds the OAuthToken and Configuration
instance
* @var \MangoPay\MangoPayApi
*/
private $_root;
/**
* Variable to flag that in request authentication data are required
* @var bool
*/
private $_authRequired;
/**
* Array with HTTP header to send with request
* @var array
*/
private $_requestHttpHeaders;
/**
* cURL handle
* @var resource
*/
private $_curlHandle;
/**
* Request type for current request
* @var RequestType
*/
private $_requestType;
/**
* Array with data to pass in the request
* @var array
*/
private $_requestData;
/**
* Code get from response
* @var int
*/
private $_responseCode;
/**
* Pagination object
* @var MangoPay\Pagination
*/
private $_pagination;
private $_requestUrl;
private static $_JSON_HEADER = 'Content-Type:
application/json';
/**
* Constructor
* @param bool $authRequired Variable to flag that in request the
authentication data are required
* @param \MangoPay\MangoPayApi Root/parent instance that holds the
OAuthToken and Configuration instance
*/
function __construct($authRequired = true, $root) {
$this->_authRequired = $authRequired;
$this->_root = $root;
}
public function AddRequestHttpHeader($httpHeader) {
if (is_null($this->_requestHttpHeaders))
$this->_requestHttpHeaders = array();
array_push($this->_requestHttpHeaders, $httpHeader);
}
/**
* Call request to MangoPay API
* @param string $urlMethod Type of method in REST API
* @param \MangoPay\RequestType $requestType Type of request
* @param array $requestData Data to send in request
* @param \MangoPay\Pagination $pagination Pagination object
* @param array Array with additional parameters to URL. Expected keys:
"sort" and "filter"
* @return object Response data
*/
public function Request($urlMethod, $requestType, $requestData = null,
& $pagination = null, $additionalUrlParams = null) {
$this->_requestType = $requestType;
$this->_requestData = $requestData;
$this->BuildRequest($urlMethod, $pagination,
$additionalUrlParams);
$responseResult = $this->RunRequest();
if(!is_null($pagination)){
$pagination = $this->_pagination;
}
return $responseResult;
}
/**
* Execute request and check response
* @return object Response data
* @throws Exception If cURL has error
*/
private function RunRequest() {
$result = curl_exec($this->_curlHandle);
if ($result === false && curl_errno($this->_curlHandle)
!= 0)
throw new Exception('cURL error: ' .
curl_error($this->_curlHandle));
$this->_responseCode = (int)curl_getinfo($this->_curlHandle,
CURLINFO_HTTP_CODE);
curl_close($this->_curlHandle);
$logClass = $this->_root->Config->LogClass;
if ($this->_root->Config->DebugMode)
$logClass::Debug('Response JSON', $result);
$response = json_decode($result);
if ($this->_root->Config->DebugMode)
$logClass::Debug('Response object', $response);
$this->CheckResponseCode($response);
return $response;
}
/**
* Prepare all parameter to request
* @param String $urlMethod Type of method in REST API
* @throws Exception If some parameters are not set
*/
private function BuildRequest($urlMethod, $pagination,
$additionalUrlParams = null) {
$urlTool = new UrlTool($this->_root);
$restUrl = $urlTool->GetRestUrl($urlMethod,
$this->_authRequired, $pagination, $additionalUrlParams);
$this->_requestUrl = $urlTool->GetFullUrl($restUrl);
$logClass = $this->_root->Config->LogClass;
if ($this->_root->Config->DebugMode)
$logClass::Debug('FullUrl', $this->_requestUrl);
$this->_curlHandle = curl_init($this->_requestUrl);
if ($this->_curlHandle === false)
throw new Exception('Cannot initialize cURL
session');
curl_setopt($this->_curlHandle, CURLOPT_RETURNTRANSFER, true);
if ($this->_root->Config->CertificatesFilePath ==
'')
curl_setopt($this->_curlHandle, CURLOPT_SSL_VERIFYPEER,
false);
else {
curl_setopt($this->_curlHandle, CURLOPT_SSL_VERIFYPEER,
true);
curl_setopt($this->_curlHandle, CURLOPT_CAINFO,
$this->_root->Config->CertificatesFilePath);
}
if (!is_null($pagination)) {
curl_setopt($this->_curlHandle, CURLOPT_HEADERFUNCTION,
array(&$this, 'ReadResponseHeader'));
$this->_pagination = $pagination;
}
switch ($this->_requestType) {
case RequestType::POST:
curl_setopt($this->_curlHandle, CURLOPT_POST, true);
break;
case RequestType::PUT:
curl_setopt($this->_curlHandle, CURLOPT_CUSTOMREQUEST,
'PUT');
break;
case RequestType::DELETE:
curl_setopt($this->_curlHandle, CURLOPT_CUSTOMREQUEST,
"DELETE");
break;
}
if ($this->_root->Config->DebugMode)
$logClass::Debug('RequestType',
$this->_requestType);
$httpHeaders = $this->GetHttpHeaders();
curl_setopt($this->_curlHandle, CURLOPT_HTTPHEADER,
$httpHeaders);
if ($this->_root->Config->DebugMode)
$logClass::Debug('HTTP Headers', $httpHeaders);
if (!is_null($this->_requestData)) {
if ($this->_root->Config->DebugMode)
$logClass::Debug('RequestData object',
$this->_requestData);
// encode to json if needed
if (in_array(self::$_JSON_HEADER, $httpHeaders)) {
$this->_requestData =
json_encode($this->_requestData);
if ($this->_root->Config->DebugMode)
$logClass::Debug('RequestData JSON',
$this->_requestData);
}
curl_setopt($this->_curlHandle, CURLOPT_POSTFIELDS,
$this->_requestData);
}
}
/**
* Callback to read response headers
* @param resource $handle cURL handle
* @param string $header Header from response
* @return int Length of header
*/
private function ReadResponseHeader($handle, $header) {
$logClass = $this->_root->Config->LogClass;
if ($this->_root->Config->DebugMode)
$logClass::Debug('Response headers', $header);
if (strpos($header, 'X-Number-Of-Pages:') !== false) {
$this->_pagination->TotalPages =
(int)trim(str_replace('X-Number-Of-Pages:', '',
$header));
}
if (strpos($header, 'X-Number-Of-Items:') !== false) {
$this->_pagination->TotalItems =
(int)trim(str_replace('X-Number-Of-Items:', '',
$header));
}
if (strpos($header, 'Link: ') !== false) {
$strLinks = trim(str_replace('Link:', '',
$header));
$arrayLinks = explode(',', $strLinks);
if ($arrayLinks !== false) {
$this->_pagination->Links = array();
foreach ($arrayLinks as $link) {
$tmp = str_replace(array('<"',
'">', ' rel="', '"'),
'', $link);
$oneLink = explode(';', $tmp);
if (is_array($oneLink) && isset($oneLink[0])
&& isset($oneLink[1]))
$this->_pagination->Links[$oneLink[1]] =
$oneLink[0];
}
}
}
return strlen($header);
}
/**
* Get HTTP header to use in request
* @return array Array with HTTP headers
*/
private function GetHttpHeaders(){
// return if already created...
if (!is_null($this->_requestHttpHeaders))
return $this->_requestHttpHeaders;
// ...or initialize with default headers
$this->_requestHttpHeaders = array();
// content type
array_push($this->_requestHttpHeaders, self::$_JSON_HEADER);
// Authentication http header
if ($this->_authRequired) {
$authHlp = new AuthenticationHelper($this->_root);
array_push($this->_requestHttpHeaders,
$authHlp->GetHttpHeaderKey());
}
return $this->_requestHttpHeaders;
}
/**
* Check response code
* @param object $response Response from REST API
* @throws ResponseException If response code not OK
*/
private function CheckResponseCode($response){
if ($this->_responseCode != 200) {
if (isset($response) && is_object($response) &&
isset($response->Message)) {
$error = new Error();
$error->Message = $response->Message;
$error->Errors = property_exists($response,
'Errors')
? $response->Errors
: property_exists($response, 'errors') ?
$response->errors : null;
throw new ResponseException($this->_requestUrl,
$this->_responseCode, $error);
} else
throw new ResponseException($this->_requestUrl,
$this->_responseCode);
}
}
}PK��[��]��tools/sorting.incnu�[���<?php
namespace MangoPay;
/**
* Base sorting object
*/
class Sorting {
/**
* Fields separator in sort parameters in URL
*/
const SortFieldSeparator = "_";
/**
* Fields separator in sort parameters in URL
*/
const SortUrlParameterName = "Sort";
/**
* Array with fileds to sort
* @var type Array
*/
private $_sortFields;
/**
* Add filed to sort
* @param string $filedName Property name to sort
* @param \MangoPay\SortDirection $sortDirection Sort direction
*/
public function AddFiled($filedName, $sortDirection) {
$this->_sortFields[$filedName] = $sortDirection;
}
/**
* Get sort parametrs to URL
* @return array
*/
public function GetSortParameter() {
return array(self::SortUrlParameterName =>
$this->_getFields());
}
private function _getFields() {
$sortValues = "";
foreach ($this->_sortFields as $key => $value) {
if (!empty($sortValues))
$sortValues .= self::SortFieldSeparator;
$sortValues .= $key . ":" . $value;
}
return $sortValues;
}
}PK��[� <�tools/urlTool.incnu�[���<?php
namespace MangoPay;
class UrlTool {
/**
* Root/parent instance that holds the OAuthToken and Configuration
instance
* @var \MangoPay\MangoPayApi
*/
private $_root;
/**
* Constructor
* @param \MangoPay\MangoPayApi Root/parent instance that holds the
OAuthToken and Configuration instance
*/
function __construct($root) {
$this->_root = $root;
}
private function GetHost(){
if (is_null($this->_root->Config->BaseUrl) ||
strlen($this->_root->Config->BaseUrl) == 0)
throw new Exception ('Neither MangoPay_BaseUrl constant
nor BaseUrl config setting is defined.');
$baseUrl = $this->_root->Config->BaseUrl;
if (strpos($baseUrl, '/', strlen($baseUrl) - 1 ))
$baseUrl = substr ($baseUrl, 0, strlen($baseUrl) - 1);
return $baseUrl;
}
public function GetRestUrl($urlKey, $addClientId = true, $pagination =
null, $additionalUrlParams = null) {
if (!$addClientId) {
$url = '/v2' . $urlKey;
} else {
$url = '/v2/' .
$this->_root->Config->ClientId . $urlKey;
}
$paramsAdded = false;
if (!is_null($pagination)) {
$url .= '?page=' . $pagination->Page .
'&per_page=' . $pagination->ItemsPerPage;
$paramsAdded = true;
}
if (!is_null($additionalUrlParams)) {
if (array_key_exists("sort", $additionalUrlParams)) {
$url .= $paramsAdded ? '&' : '?';
$url .=
http_build_query($additionalUrlParams["sort"]);
$paramsAdded = true;
}
if (array_key_exists("filter", $additionalUrlParams))
{
$url .= $paramsAdded ? '&' : '?';
$url .=
http_build_query($additionalUrlParams["filter"]);
$paramsAdded = true;
}
}
return $url;
}
public function GetFullUrl($restUrl) {
return $this->GetHost() . $restUrl;
}
}
PK��[�{�B��types/bankAccountDetails.incnu�[���<?php
namespace MangoPay;
/**
* Marker interface for classes with details option in BankAccount entity
*/
interface BankAccountDetails {
}PK��[bDj]
types/bankAccountDetailsCA.incnu�[���<?php
namespace MangoPay;
/**
* Class represents CA bank account type for in BankAccount entity
*/
class BankAccountDetailsCA extends Dto implements BankAccountDetails {
/**
* Bank name
* @var string
*/
public $BankName;
/**
* Institution number
* @var string
*/
public $InstitutionNumber;
/**
* Branch code
* @var string
*/
public $BranchCode;
/**
* Account number
* @var string
*/
public $AccountNumber;
}PK��[b��AWWtypes/bankAccountDetailsGB.incnu�[���<?php
namespace MangoPay;
/**
* Class represents GB bank account type for in BankAccount entity
*/
class BankAccountDetailsGB extends Dto implements BankAccountDetails {
/**
* Account number
* @var string
*/
public $AccountNumber;
/**
* Sort code
* @var string
*/
public $SortCode;
}PK��[��V_DD
types/bankAccountDetailsIBAN.incnu�[���<?php
namespace MangoPay;
/**
* Class represents IBAN bank account type for in BankAccount entity
*/
class BankAccountDetailsIBAN extends Dto implements BankAccountDetails {
/**
* IBAN number
* @var string
*/
public $IBAN;
/**
* BIC
* @var string
*/
public $BIC;
}PK��[�҅uEE!types/bankAccountDetailsOTHER.incnu�[���<?php
namespace MangoPay;
/**
* Class represents OTHER bank account type for in BankAccount entity
*/
class BankAccountDetailsOTHER extends Dto implements BankAccountDetails {
/**
* Type
* @var string
*/
public $Type;
/**
* The Country associate to the BankAccount,
* ISO 3166-1 alpha-2 format is expected
* @var string
*/
public $Country;
/**
* Valid BIC format
* @var string
*/
public $BIC;
/**
* Account number
* @var string
*/
public $AccountNumber;
}PK��[��LLtypes/bankAccountDetailsUS.incnu�[���<?php
namespace MangoPay;
/**
* Class represents US bank account type for in BankAccount entity
*/
class BankAccountDetailsUS extends Dto implements BankAccountDetails {
/**
* Account number
* @var string
*/
public $AccountNumber;
/**
* ABA
* @var string
*/
public $ABA;
}PK��[~
�~**types/configuration.incnu�[���<?php
namespace MangoPay;
/**
* Configuration settings
*/
class Configuration {
/**
* Client Id
* @var string
*/
public $ClientId;
/**
* Client password
* @var string
*/
public $ClientPassword;
/**
* Base URL to MangoPay API
* @var string
*/
/**Producion URL changes to {public $BaseUrl =
'https://api.mangopay.com';}**/
public $BaseUrl = 'https://api.sandbox.mangopay.com';
/**
* Path to folder with temporary files (with permissions to write)
*/
public $TemporaryFolder = null;
/**
* Absolute path to file holding one or more certificates to verify the
peer with.
* If empty - don't verifying the peer's certificate.
* @var string
*/
public $CertificatesFilePath = '';
/**
* [INTERNAL USAGE ONLY]
* Switch debug mode: log all request and response data
*/
public $DebugMode = false;
/**
* Set the logging class if DebugMode is enabled
*/
public $LogClass = 'MangoPay\Logs';
}PK��[�Q
�OO
types/dto.incnu�[���<?php
namespace MangoPay;
/**
* Abstract class for all DTOs (entities and their composites)
*/
abstract class Dto {
/**
* Get array with mapping which property is object and what type of
object.
* To be overridden in child class if has any sub objects.
* @return array
*/
public function GetSubObjects() { return array(); }
/**
* Get array with mapping which property depends on other property
* To be overridden in child class if has any dependent objects.
* @return array
*/
public function GetDependsObjects() { return array(); }
/**
* Get array with read only properties - not used in response
* To be overridden in child class if has any read-only properties.
* @return array
*/
public function GetReadOnlyProperties() { return array(); }
}
PK��[SmGNNtypes/error.incnu�[���<?php
namespace MangoPay;
/**
* Class represents error object
*/
class Error {
/**
* Error message
* @var String
* @access public
*/
public $Message;
/**
* Array with errors information
* @var KeyValueArray
* @access public
*/
public $Errors;
}
PK��[�m5BBtypes/exceptions/exception.incnu�[���<?php
namespace MangoPay;
class Exception extends \Exception {
}
PK��[�#o,,types/exceptions/index.htmlnu�[���<html><body
bgcolor="#FFFFFF"></body></html>PK��[^[lyy&types/exceptions/responseException.incnu�[���<?php
namespace MangoPay;
/**
* Response exception class
*/
class ResponseException extends Exception {
/**
* Array with response code and corresponding response message
* @var array
*/
private $_responseCodes = array(
200 => 'OK',
206 => 'PartialContent',
400 => 'Bad request',
401 => 'Unauthorized',
403 => 'Prohibition to use the method',
404 => 'Not found',
405 => 'Method not allowed',
413 => 'Request entity too large',
422 => 'Unprocessable entity',
500 => 'Internal server error',
501 => 'Not implemented'
);
/**
* Error details
* @var Error
*/
private $_errorInfo;
/**
* Request URL
* @var string
*/
public $RequestUrl;
/**
* Construct
* @param int $code Response code
* @param Error $errorInfo Details with the error
*/
function __construct($requestUrl, $code, $errorInfo = null) {
$this->RequestUrl = $requestUrl;
$this->_code = $code;
if (isset($this->_responseCodes[$code])) {
$errorMsg = $this->_responseCodes[$code];
} else {
$errorMsg = 'Unknown response error';
}
if (!is_null($errorInfo)) {
$errorMsg .= '. ' . $errorInfo->Message;
$this->_errorInfo = $errorInfo;
}
parent::__construct($errorMsg, $code);
}
/**
* Get Error object returned by REST API
* @return Error
*/
public function GetErrorDetails(){
return $this->_errorInfo;
}
}PK��[�#o,,types/index.htmlnu�[���<html><body
bgcolor="#FFFFFF"></body></html>PK��[�F+~AAtypes/keyValueArray.incnu�[���<?php
namespace MangoPay;
/**
* Class represents tabular values
*/
class KeyValueArray {
/**
* Key for tabular variable
* @var String
* @access public
*/
public $Key;
/**
* Value for tabular variable
* @var String
* @access public
*/
public $Value;
}
PK��[�x�@@types/money.incnu�[���<?php
namespace MangoPay;
/**
* Class represents money value with currency
*/
class Money extends Dto {
/**
* Text with currency code with ISO 4217 standard
* @var String
*/
public $Currency;
/**
* The currency amount of money
* @var Long
*/
public $Amount;
}
PK��[�((types/oAuthToken.incnu�[���<?php
namespace MangoPay;
/**
* OAuthToken
*/
class OAuthToken extends Dto {
/**
* Created time
* @var int
*/
private $create_time;
/**
* Value of token
* @var string
*/
public $access_token;
/**
* Token type
* @var string
*/
public $token_type;
/**
* Expires time for the token
* @var int
*/
public $expires_in;
/**
* Constructor
*/
function __construct() {
$this->create_time = time() - 5;
}
/**
* Check that current tokens are expire and return true if yes
* @return bool
*/
public function IsExpired() {
return (time() >= ($this->create_time +
$this->expires_in));
}
}PK��[ņSc��types/pagination.incnu�[���<?php
namespace MangoPay;
/**
* Class represents pagination information
*/
class Pagination extends Dto {
/**
* Page number
* @var Int
*/
public $Page;
/**
* Number of items per page
* @var Int
*/
public $ItemsPerPage;
/**
* Number of total pages
* @var Int
*/
public $TotalPages;
/**
* Number of total items
* @var Int
*/
public $TotalItems;
/**
* Array with links to navigation.
* All values optional. Format:
* array(
* first => http url
* prev => http url
* next => http url
* last => http url
* )
* @var array
*/
public $Links = array();
/**
* Construct
* @param int $page Number of page
* @param int $itemsPerPage Number of items on one page
*/
function __construct($page = 1, $itemsPerPage = 10) {
$this->Page = $page;
$this->ItemsPerPage = $itemsPerPage;
}
}PK��[d�!��types/payInExecutionDetails.incnu�[���<?php
namespace MangoPay;
/**
* Marker interface for classes with details of execution option in PayIn
entity
*/
interface PayInExecutionDetails { }
PK��[0��>%types/payInExecutionDetailsDirect.incnu�[���<?php
namespace MangoPay;
/**
* Class represents Web type for execution option in PayIn entity
*/
class PayInExecutionDetailsDirect extends Dto implements
PayInExecutionDetails {
/**
* SecureMode { DEFAULT, FORCE }
* @var string
*/
public $SecureMode;
/**
* SecureModeReturnURL
* @var string
*/
public $SecureModeReturnURL;
/**
* SecureModeRedirectURL
* @var string
*/
public $SecureModeRedirectURL;
}
PK��[̎l�NN"types/payInExecutionDetailsWeb.incnu�[���<?php
namespace MangoPay;
/**
* Class represents Web type for execution option in PayIn entity
*/
class PayInExecutionDetailsWeb extends Dto implements PayInExecutionDetails
{
/**
* URL format expected
* @var string
*/
public $RedirectURL;
/**
* URL format expected
* @var string
*/
public $ReturnURL;
/**
* URL format expected.
* @var string
*/
public $TemplateURL;
/**
* The URL where you host the iFramed template.
* For CB, Visa, MasterCard you need to specify PAYLINE: before your
URL
* with the iFramed template
* ex: PAYLINE: https://www.maysite.com/payline_template/
* Used for:
* - direct debit web type pay-in.
*
* @var PayInTemplateURLOptions
*/
public $TemplateURLOptions;
/**
* @var string
*/
public $Culture;
/**
* Mode3DSType { DEFAULT, FORCE }
* @var string
*/
public $SecureMode;
/**
* Get array with read-only properties
* @return array
*/
public function GetReadOnlyProperties() {
$properties = parent::GetReadOnlyProperties();
array_push( $properties, 'RedirectURL' );
return $properties;
}
/**
* Get array with mapping which property is object and what type of
object
* @return array
*/
public function GetSubObjects() {
return array(
'TemplateURLOptions' =>
'\MangoPay\PayInTemplateURLOptions'
);
}
}PK��[��ҭ��types/payInPaymentDetails.incnu�[���<?php
namespace MangoPay;
/**
* Marker interface for classes with details of means of payment in PayIn
entity
*/
interface PayInPaymentDetails { }
PK��[�ӛ��%types/payInPaymentDetailsBankWire.incnu�[���<?php
namespace MangoPay;
/**
* Class represents BankWire type for mean of payment in PayIn entity
*/
class PayInPaymentDetailsBankWire extends Dto implements
PayInPaymentDetails {
/**
* Declared debited funds
* @var \MangoPay\Money
*/
public $DeclaredDebitedFunds;
/**
* Declared fees
* @var \MangoPay\Money
*/
public $DeclaredFees;
/**
* Bank account details
* @var \MangoPay\BankAccount
*/
public $BankAccount;
/**
* Wire reference
* @var string
*/
public $WireReference;
/**
* Get array with mapping which property is object and what type of
object
* @return array
*/
public function GetSubObjects() {
return array(
'DeclaredDebitedFunds' =>
'\MangoPay\Money' ,
'DeclaredFees' => '\MangoPay\Money' ,
'BankAccount' => '\MangoPay\BankAccount'
);
}
}
PK��[�?Axx!types/payInPaymentDetailsCard.incnu�[���<?php
namespace MangoPay;
/**
* Class represents Card type for mean of payment in PayIn entity
*/
class PayInPaymentDetailsCard extends Dto implements PayInPaymentDetails {
/**
* CardType { CB_VISA_MASTERCARD, AMEX }
* @var string
*/
public $CardType;
/**
* CardId
* @var string
*/
public $CardId;
}
PK��[�+bK22(types/payInPaymentDetailsDirectDebit.incnu�[���<?php
namespace MangoPay;
/**
* Class represents direct debit type for mean of payment in PayIn entity
*/
class PayInPaymentDetailsDirectDebit extends Dto implements
PayInPaymentDetails {
/**
* Direct debit type {SOFORT, ELV, GIROPAY}
* @var string
*/
public $DirectDebitType;
}
PK��[L�//*types/payInPaymentDetailsPreAuthorized.incnu�[���<?php
namespace MangoPay;
/**
* Class represents Web type for execution option in PayIn entity
*/
class PayInPaymentDetailsPreAuthorized extends Dto implements
PayInPaymentDetails {
/**
* The ID of the Preauthorization object
* @var string
*/
public $PreauthorizationId;
}PK��[�A����!types/payInTemplateURLOptions.incnu�[���<?php
namespace MangoPay;
/**
* Class represents template URL options
*/
class PayInTemplateURLOptions extends Dto {
/**
* PAYLINE options
*
* @var string
*/
public $PAYLINE;
}PK��[�[����types/payOutPaymentDetails.incnu�[���<?php
namespace MangoPay;
/**
* Marker interface for classes with details of means of payment in PayOut
entity
*/
interface PayOutPaymentDetails { }
PK��[ e.���&types/payOutPaymentDetailsBankWire.incnu�[���<?php
namespace MangoPay;
/**
* Class represents BankWire type for mean of payment in PayOut entity
*/
class PayOutPaymentDetailsBankWire extends Dto implements
PayOutPaymentDetails {
/**
* Bank account Id
* @var string
*/
public $BankAccountId;
/**
* A custom reference you wish to appear on the user’s bank statement
* @var string
*/
public $BankWireRef;
}
PK��[B�>�''common/common.incnu�[���PK��[�#o,,hcommon/index.htmlnu�[���PK��[%a����entities/bankAccount.incnu�[���PK��[{F�]�
entities/card.incnu�[���PK��[�u]�GG!-entities/cardPreAuthorization.incnu�[���PK��[�����entities/cardRegistration.incnu�[���PK��[7?I+���!entities/client.incnu�[���PK��[)S���#entities/entityBase.incnu�[���PK��[
G�SS�&entities/event.incnu�[���PK��[���y��o(entities/hook.incnu�[���PK��[�#o,,�*entities/index.htmlnu�[���PK��[�%�UU+entities/kycDocument.incnu�[���PK��[W+���-entities/kycPage.incnu�[���PK��[��z%%�.entities/payIn.incnu�[���PK��[ܙ9W��7entities/payOut.incnu�[���PK��[��&���;entities/refund.incnu�[���PK��[�*o���$�=entities/temporaryImmediatePayIn.incnu�[���PK��[�����!�?entities/temporaryPaymentCard.incnu�[���PK��[��}P��KCentities/transaction.incnu�[���PK��[k�c-Kentities/transfer.incnu�[���PK��[�<����Lentities/user.incnu�[���PK��[#�f++�Oentities/userLegal.incnu�[���PK��[�Sz��Wentities/userNatural.incnu�[���PK��[ƀIJ�]entities/wallet.incnu�[���PK��[�#o,,
aindex.htmlnu�[���PK��[��_��pamangoPayApi.incnu�[���PK��[� ��F>F>Qntools/apiBase.incnu�[���PK��[��Zii"جtools/apiCardPreAuthorizations.incnu�[���PK��[��t�00��tools/apiCardRegistrations.incnu�[���PK��[r��$$�tools/apiCards.incnu�[���PK��[�~_��w�tools/apiClients.incnu�[���PK��[�H����tools/apiEvents.incnu�[���PK��[q̡�����tools/apiHooks.incnu�[���PK��[fj��??��tools/apiKycDocuments.incnu�[���PK��[g*�m{{U�tools/apiOAuth.incnu�[���PK��[�D����tools/apiPayIns.incnu�[���PK��[�3�qq�tools/apiPayOuts.incnu�[���PK��[�"�����tools/apiRefunds.incnu�[���PK��[�������tools/apiTransfers.incnu�[���PK��[MȌ
t(t(��tools/apiUsers.incnu�[���PK��[�8M�Otools/apiWallets.incnu�[���PK��[C�a� � �tools/authenticationHelper.incnu�[���PK��[�U
T55#�#tools/authorizationTokenManager.incnu�[���PK��[�#aCMM
j+tools/defaultStorageStrategy.incnu�[���PK��[�`���4tools/enums.incnu�[���PK��[2�SҘ�!=tools/filterBase.incnu�[���PK��[p��2���>tools/filterEvents.incnu�[���PK��[�ľ11@tools/filterTransactions.incnu�[���PK��[�#o,,�Btools/index.htmlnu�[���PK��[~/����Btools/iStorageStrategy.incnu�[���PK��[>��00Etools/logs.incnu�[���PK��[zk��L'L'oFtools/restTool.incnu�[���PK��[��]���mtools/sorting.incnu�[���PK��[�
<��rtools/urlTool.incnu�[���PK��[�{�B��N{types/bankAccountDetails.incnu�[���PK��[bDj]
'|types/bankAccountDetailsCA.incnu�[���PK��[b��AWW�~types/bankAccountDetailsGB.incnu�[���PK��[��V_DD
'�types/bankAccountDetailsIBAN.incnu�[���PK��[�҅uEE!��types/bankAccountDetailsOTHER.incnu�[���PK��[��LLQ�types/bankAccountDetailsUS.incnu�[���PK��[~
�~**�types/configuration.incnu�[���PK��[�Q
�OO
\�types/dto.incnu�[���PK��[SmGNN�types/error.incnu�[���PK��[�m5BBu�types/exceptions/exception.incnu�[���PK��[�#o,,�types/exceptions/index.htmlnu�[���PK��[^[lyy&|�types/exceptions/responseException.incnu�[���PK��[�#o,,K�types/index.htmlnu�[���PK��[�F+~AA��types/keyValueArray.incnu�[���PK��[�x�@@?�types/money.incnu�[���PK��[�((��types/oAuthToken.incnu�[���PK��[ņSc��*�types/pagination.incnu�[���PK��[d�!��j�types/payInExecutionDetails.incnu�[���PK��[0��>%Q�types/payInExecutionDetailsDirect.incnu�[���PK��[̎l�NN"��types/payInExecutionDetailsWeb.incnu�[���PK��[��ҭ��K�types/payInPaymentDetails.incnu�[���PK��[�ӛ��%.�types/payInPaymentDetailsBankWire.incnu�[���PK��[�?Axx!4�types/payInPaymentDetailsCard.incnu�[���PK��[�+bK22(��types/payInPaymentDetailsDirectDebit.incnu�[���PK��[L�//*��types/payInPaymentDetailsPreAuthorized.incnu�[���PK��[�A����!�types/payInTemplateURLOptions.incnu�[���PK��[�[����8�types/payOutPaymentDetails.incnu�[���PK��[ e.���&�types/payOutPaymentDetailsBankWire.incnu�[���PKRR1�