(function(root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['ApiClient'], factory);
} else if (typeof module === 'object' && module.exports) {
// CommonJS-like environments that support module.exports, like Node.
module.exports = factory(require('../ApiClient'));
} else {
// Browser globals (root is window)
if (!root.OrbipayPaymentsapiClient) {
root.OrbipayPaymentsapiClient = {};
}
root.OrbipayPaymentsapiClient.FundingAccountSnapshotResponse = factory(root.OrbipayPaymentsapiClient.ApiClient);
}
}(this, function(ApiClient) {
'use strict';
/**
* The FundingAccountSnapshotResponse model module.
* @module models/FundingAccountSnapshotResponse
*/
/**
* <h3 style="color:red"> This class subject to change without prior notice, Please dont use this class directly. </h3>
* Constructs a new <code>FundingAccountSnapshotResponse</code>.
* The customer's funding account with which the payment is being made.
* @alias module:models/FundingAccountSnapshotResponse
* @class
*/
var exports = function() {
var _this = this;
};
/**
* Constructs a <code>FundingAccountSnapshotResponse</code> from a plain JavaScript object, optionally creating a new instance.
* Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
* @param {Object} data The plain JavaScript object bearing properties of interest.
* @param {module:models/FundingAccountSnapshotResponse} obj Optional instance to populate.
* @return {module:models/FundingAccountSnapshotResponse} The populated <code>FundingAccountSnapshotResponse</code> instance.
*/
exports.constructFromObject = function(data, obj) {
if (data) {
obj = obj || new exports();
if (data.hasOwnProperty('id')) {
obj['id'] = ApiClient.convertToType(data['id'], 'String');
}
if (data.hasOwnProperty('url')) {
obj['url'] = ApiClient.convertToType(data['url'], 'String');
}
if (data.hasOwnProperty('account_number')) {
obj['account_number'] = ApiClient.convertToType(data['account_number'], 'String');
}
if (data.hasOwnProperty('account_type')) {
obj['account_type'] = ApiClient.convertToType(data['account_type'], 'String');
}
if (data.hasOwnProperty('account_subtype')) {
obj['account_subtype'] = ApiClient.convertToType(data['account_subtype'], 'String');
}
if (data.hasOwnProperty('aba_routing_number')) {
obj['aba_routing_number'] = ApiClient.convertToType(data['aba_routing_number'], 'String');
}
if (data.hasOwnProperty('issuer_name')) {
obj['issuer_name'] = ApiClient.convertToType(data['issuer_name'], 'String');
}
if (data.hasOwnProperty('nickname')) {
obj['nickname'] = ApiClient.convertToType(data['nickname'], 'String');
}
if (data.hasOwnProperty('display_text')) {
obj['display_text'] = ApiClient.convertToType(data['display_text'], 'String');
}
if (data.hasOwnProperty('account_holder_name')) {
obj['account_holder_name'] = ApiClient.convertToType(data['account_holder_name'], 'String');
}
}
return obj;
};
/**
* Id is a unique identifier assigned to the account in EBPP.
* @member {String} id
*/
exports.prototype['id'] = undefined;
/**
* This URL fetches the funding account details.
* @member {String} url
*/
exports.prototype['url'] = undefined;
/**
* The number or reference that a customer uses to identify the funding account. In case of Apple Pay, this is the device-specific account number of the card.
* @member {String} account_number
*/
exports.prototype['account_number'] = undefined;
/**
* The type of the funding account.
* @member {module:models/FundingAccountSnapshotResponse.AccountTypeEnum} account_type
*/
exports.prototype['account_type'] = undefined;
/**
* The sub type of the funding account. This is derived by EBPP in the case of card funding accounts. It needs to be passed when adding or editing a DDA/Bank/ApplePay account.
* @member {module:models/FundingAccountSnapshotResponse.AccountSubtypeEnum} account_subtype
*/
exports.prototype['account_subtype'] = undefined;
/**
* The ABA/Routing number for the bank account.
* @member {String} aba_routing_number
*/
exports.prototype['aba_routing_number'] = undefined;
/**
* The name of the authority that has issued the account. This is relevant only in the case of bank accounts.
* @member {String} issuer_name
*/
exports.prototype['issuer_name'] = undefined;
/**
* The nickname by which a customer might want to identify the account.
* @member {String} nickname
*/
exports.prototype['nickname'] = undefined;
/**
* UI representation of the account.
* @member {String} display_text
*/
exports.prototype['display_text'] = undefined;
/**
* The name as specified on the account.
* @member {String} account_holder_name
*/
exports.prototype['account_holder_name'] = undefined;
/**
* Allowed values for the <code>account_type</code> property.
* @enum {String}
* @readonly
*/
exports.AccountTypeEnum = {
/**
* value: "bank"
* @const
*/
"bank": "bank",
/**
* value: "debit_card"
* @const
*/
"debit_card": "debit_card",
/**
* value: "credit_card"
* @const
*/
"credit_card": "credit_card",
/**
* value: "wallet"
* @const
*/
"wallet": "wallet" };
/**
* Allowed values for the <code>account_subtype</code> property.
* @enum {String}
* @readonly
*/
exports.AccountSubtypeEnum = {
/**
* value: "savings"
* @const
*/
"savings": "savings",
/**
* value: "checking"
* @const
*/
"checking": "checking",
/**
* value: "money_market"
* @const
*/
"money_market": "money_market",
/**
* value: "visa_credit"
* @const
*/
"visa_credit": "visa_credit",
/**
* value: "mastercard_credit"
* @const
*/
"mastercard_credit": "mastercard_credit",
/**
* value: "american_express_credit"
* @const
*/
"american_express_credit": "american_express_credit",
/**
* value: "discover_credit"
* @const
*/
"discover_credit": "discover_credit",
/**
* value: "visa_debit"
* @const
*/
"visa_debit": "visa_debit",
/**
* value: "mastercard_debit"
* @const
*/
"mastercard_debit": "mastercard_debit",
/**
* value: "discover_debit"
* @const
*/
"discover_debit": "discover_debit",
/**
* value: "apple_pay"
* @const
*/
"apple_pay": "apple_pay" };
return exports;
}));