mastercard-mastercom
Version:
Core functionality for MasterCard API
245 lines (223 loc) • 10 kB
JavaScript
/*
* Copyright (c) 2013 - 2016, MasterCard International Incorporated
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
* Neither the name of the MasterCard International Incorporated nor the names of its
* contributors may be used to endorse or promote products derived from this software
* without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
* SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
*/
var MasterCardAPI = require('mastercard-api-core');
var ResourceConfig = require('./resourceconfig');
var Chargebacks = {};
var operationConfigs = {};
/**
* Initialize Chargebacks
* @private
*/
var _init = function() {
operationConfigs["5efb732c-8a22-4d40-8061-cc49ee874f51"] = new MasterCardAPI.OperationConfig("/mastercom/v6/chargebacks/acknowledge", "update", [""], [""]);
operationConfigs["c16dbdfb-b26a-4d05-b29c-cb43c856f860"] = new MasterCardAPI.OperationConfig("/mastercom/v6/claims/{claim-id}/chargebacks", "create", [""], [""]);
operationConfigs["3552eee5-14d2-4515-82bd-b9437fbc08d6"] = new MasterCardAPI.OperationConfig("/mastercom/v6/claims/{claim-id}/chargebacks/{chargeback-id}/reversal", "create", [""], [""]);
operationConfigs["a11bd64c-1a61-4021-b33b-9f02691068a0"] = new MasterCardAPI.OperationConfig("/mastercom/v6/claims/{claim-id}/chargebacks/{chargeback-id}/documents", "query", ["format"], [""]);
operationConfigs["4e9ed2ab-58d0-4945-9307-ea6f4ac41589"] = new MasterCardAPI.OperationConfig("/mastercom/v6/claims/{claim-id}/chargebacks/loaddataforchargebacks", "create", [""], [""]);
operationConfigs["92d79b45-8025-4c7a-aa08-c4643433373d"] = new MasterCardAPI.OperationConfig("/mastercom/v6/chargebacks/imagestatus", "update", [""], [""]);
operationConfigs["9644cd45-8e5e-4071-ace4-0b58d97a9e8c"] = new MasterCardAPI.OperationConfig("/mastercom/v6/chargebacks/status", "update", [""], [""]);
operationConfigs["c832f209-6f29-457f-8cc3-e2acbf5802d3"] = new MasterCardAPI.OperationConfig("/mastercom/v6/claims/{claim-id}/chargebacks/{chargeback-id}", "update", [""], [""]);
};
_init();
/**
* Private function to get operation config
* @returns Object operation config
* @private
*/
var _getOperationConfig = function(operationUUID) {
var operationConfig = operationConfigs[operationUUID];
if(!MasterCardAPI.isSet(operationConfig)) {
throw new MasterCardAPI.MasterCardError.SDKError("Invalid operationUUID supplied: " + operationUUID);
}
return operationConfig;
};
var _getOperationMetaData = function() {
return new MasterCardAPI.OperationMetaData(ResourceConfig.getVersion(), ResourceConfig.getHost(), ResourceConfig.getContext(), ResourceConfig.getJsonNative(), ResourceConfig.getContentTypeOverride());
};
/**
* Function to update a Chargebacks object.
*
* @method update
* @param {Object} params - A map of parameters on which to update the Chargebacks object.
* @param {Function} callback - A function to handle success/error responses from the API.<br/>
* The function takes 2 parameters, the first is an error object. This is null if no error occurs. The second parameter is the response data. This is null if an error occurs.
*/
Chargebacks.acknowledgeReceivedChargebacks = function(params, callback) {
try {
MasterCardAPI.execute({
operationConfig: _getOperationConfig("5efb732c-8a22-4d40-8061-cc49ee874f51"),
operationMetaData: _getOperationMetaData(),
params: params
}, callback);
}
catch (e) {
callback(e, null);
}
};
/**
* Function to create a Chargebacks object.
*
* @method create
* @param {Object} params - A map of parameters in which to create the Chargebacks from.
* @param {Function} callback - A function to handle success/error responses from the API.<br/>
* The function takes 2 parameters, the first is an error object. This is null if no error occurs. The second parameter is the response data. This is null if an error occurs.
*/
Chargebacks.create = function(params, callback) {
try {
MasterCardAPI.execute({
operationConfig: _getOperationConfig("c16dbdfb-b26a-4d05-b29c-cb43c856f860"),
operationMetaData: _getOperationMetaData(),
params: params
}, callback);
}
catch (e) {
callback(e, null);
}
};
/**
* Function to create a Chargebacks object.
*
* @method create
* @param {Object} params - A map of parameters in which to create the Chargebacks from.
* @param {Function} callback - A function to handle success/error responses from the API.<br/>
* The function takes 2 parameters, the first is an error object. This is null if no error occurs. The second parameter is the response data. This is null if an error occurs.
*/
Chargebacks.createReversal = function(params, callback) {
try {
MasterCardAPI.execute({
operationConfig: _getOperationConfig("3552eee5-14d2-4515-82bd-b9437fbc08d6"),
operationMetaData: _getOperationMetaData(),
params: params
}, callback);
}
catch (e) {
callback(e, null);
}
};
/**
* Function to query a Chargebacks object from the API.
*
* @method find
* @param {Object} query - A map of parameters in which to create the Chargebacks from.
* @param {Function} callback - A function to handle success/error responses from the API.<br/>
* The function takes 2 parameters, the first is an error object. This is null if no error occurs. The second parameter is the response data. This is null if an error occurs.
*/
Chargebacks.retrieveDocumentation = function(query, callback) {
var params = MasterCardAPI.isSet(query) ? query : {};
try {
MasterCardAPI.execute({
operationConfig: _getOperationConfig("a11bd64c-1a61-4021-b33b-9f02691068a0"),
operationMetaData: _getOperationMetaData(),
params: params
}, callback);
}
catch (e) {
callback(e, null);
}
};
/**
* Function to create a Chargebacks object.
*
* @method create
* @param {Object} params - A map of parameters in which to create the Chargebacks from.
* @param {Function} callback - A function to handle success/error responses from the API.<br/>
* The function takes 2 parameters, the first is an error object. This is null if no error occurs. The second parameter is the response data. This is null if an error occurs.
*/
Chargebacks.getPossibleValueListsForCreate = function(params, callback) {
try {
MasterCardAPI.execute({
operationConfig: _getOperationConfig("4e9ed2ab-58d0-4945-9307-ea6f4ac41589"),
operationMetaData: _getOperationMetaData(),
params: params
}, callback);
}
catch (e) {
callback(e, null);
}
};
/**
* Function to update a Chargebacks object.
*
* @method update
* @param {Object} params - A map of parameters on which to update the Chargebacks object.
* @param {Function} callback - A function to handle success/error responses from the API.<br/>
* The function takes 2 parameters, the first is an error object. This is null if no error occurs. The second parameter is the response data. This is null if an error occurs.
*/
Chargebacks.chargebacksImageStatus = function(params, callback) {
try {
MasterCardAPI.execute({
operationConfig: _getOperationConfig("92d79b45-8025-4c7a-aa08-c4643433373d"),
operationMetaData: _getOperationMetaData(),
params: params
}, callback);
}
catch (e) {
callback(e, null);
}
};
/**
* Function to update a Chargebacks object.
*
* @method update
* @param {Object} params - A map of parameters on which to update the Chargebacks object.
* @param {Function} callback - A function to handle success/error responses from the API.<br/>
* The function takes 2 parameters, the first is an error object. This is null if no error occurs. The second parameter is the response data. This is null if an error occurs.
*/
Chargebacks.chargebacksStatus = function(params, callback) {
try {
MasterCardAPI.execute({
operationConfig: _getOperationConfig("9644cd45-8e5e-4071-ace4-0b58d97a9e8c"),
operationMetaData: _getOperationMetaData(),
params: params
}, callback);
}
catch (e) {
callback(e, null);
}
};
/**
* Function to update a Chargebacks object.
*
* @method update
* @param {Object} params - A map of parameters on which to update the Chargebacks object.
* @param {Function} callback - A function to handle success/error responses from the API.<br/>
* The function takes 2 parameters, the first is an error object. This is null if no error occurs. The second parameter is the response data. This is null if an error occurs.
*/
Chargebacks.update = function(params, callback) {
try {
MasterCardAPI.execute({
operationConfig: _getOperationConfig("c832f209-6f29-457f-8cc3-e2acbf5802d3"),
operationMetaData: _getOperationMetaData(),
params: params
}, callback);
}
catch (e) {
callback(e, null);
}
};
module.exports = Chargebacks;