mangopay4-nodejs-sdk
Version:
Mangopay Node.js SDK
72 lines (66 loc) • 2.12 kB
JavaScript
const EntityBase = require('./EntityBase');
const Money = require('./Money');
const Billing = require('./Billing');
const Shipping = require('./Shipping');
const CurrentState = require('./RecurringPayInCurrentState')
const MarketplaceData = require('./MarketplaceData');
const PayInRecurringRegistration = EntityBase.extend({
defaults: {
/**
* Array with owners identities
*/
AuthorId: null,
CardId: null,
CreditedWalletId: null,
CreditedUserId: null,
FirstTransactionDebitedFunds: null,
FirstTransactionFees: null,
Billing: null,
Shipping: null,
EndDate: null,
Frequency: null,
FixedNextAmount: null,
FractionedPayment: null,
Migration: null,
NextTransactionDebitedFunds: null,
NextTransactionFees: null,
Status: null,
TotalAmount: null,
CycleNumber: null,
FreeCycles: null,
CurrentState: null,
PaymentType: null,
PaymentData: null,
/**
* Declarative information used to comply with Visa Marketplace reporting.
*/
MarketplaceData: null,
},
/**
* Get mapping of model properties and corresponding object types
* @returns {Object}
*/
getSubObjects: function() {
return {
'FirstTransactionDebitedFunds': Money,
'FirstTransactionFees': Money,
'Fees': Money,
'Billing': Billing,
'Shipping': Shipping,
'NextTransactionDebitedFunds': Money,
'NextTransactionFees': Money,
'CurrentState': CurrentState,
'MarketplaceData': MarketplaceData
}
},
/**
* Get array with read-only properties
* @return {Array} List of string properties
*/
getReadOnlyProperties: function() {
const properties = EntityBase.prototype.getReadOnlyProperties();
properties.push('Status', 'TotalAmount', 'CycleNumber', 'CurrentState');
return properties;
}
});
module.exports = PayInRecurringRegistration;