(function(root, factory) {

if (typeof module === 'object' && module.exports) {
    // CommonJS-like environments that support module.exports, like Node.
    module.exports = factory(require('../ApiClient'), require('./InvocationContext'), require('../CommonUtil'), require('../ResponseWrapper'), require('./Base'), require('../OrbipayApiError'));
  }
}(this, function(ApiClient, InvocationContext, CommonUtil, ResponseWrapper, Base, OrbipayApiError) {
  'use strict';

    /**
    * The PaymentNetworkResponse wrapper module.
    * @module wrappers/PaymentNetworkResponse
    */
  var exports = function() {

  };
  exports.constructFromObject = function (data, obj) {
        if (data) {
            obj = obj || new exports();
            if (data.hasOwnProperty('payment_auth_code')) {
                obj['payment_auth_code'] = data['payment_auth_code'];
            }
            if (data.hasOwnProperty('payment_response_code')) {
                obj['payment_response_code'] = data['payment_response_code'];
            }
            if (data.hasOwnProperty('payment_response_msg')) {
                obj['payment_response_msg'] = data['payment_response_msg'];
            }
        }
        return obj;
  };


  exports.prototype = Object.create(Base.prototype);
  exports.prototype.constructor = exports;

    /**
    * The Auth Code returned by the card gateway. This is relevant only for card payments.
    * @member {String} payment_auth_code
    */
  exports.prototype['payment_auth_code'] = undefined;
    /**
    * This is the ACH return code in the case of a returned payment over the NACHA ACH network. In the case of declined card payment, it's the decline code received from the card issuer or the card processor. In the case of a card chargeback, it's the chargeback code received from the card network.
    * @member {String} payment_response_code
    */
  exports.prototype['payment_response_code'] = undefined;
    /**
    * The text describing the appropriate code captured in the payment_response_code as received from the corresponding payment network.
    * @member {String} payment_response_msg
    */
  exports.prototype['payment_response_msg'] = undefined;




  return exports;

}));