paytm-pg-node-sdk
Version:
Paytm SDK for Node.js
213 lines (212 loc) • 6.41 kB
JavaScript
;
/**
* Copyright (C) 2019 Paytm.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.MerchantProperties = void 0;
/**
* This class is used to store all the merchant related constants
* that are common to all payments and orders
*/
const _LibraryConstants = require("../constants/LibraryConstants");
const _LoggingUtil = require("../utils/LoggingUtil");
const _CommonUtil = require("../utils/CommonUtil");
const _SDKException = require("../exceptions/SDKException");
/* class: MerchantProperties */
class MerchantProperties {
/**
* @param string environment
* @param string mid
* @param string merchantKey
* @param string website
* @throws Exception
*/
static initialize(environment, mid, merchantKey, website) {
if (!MerchantProperties.isInitialized) {
_LoggingUtil.LoggingUtil.addLog(_LoggingUtil.LoggingUtil.LogLevel.INFO, "MerchantProperties", "initialize called");
if (_CommonUtil.CommonUtil.isEmptyOrNull(environment))
throw new _SDKException.SDKException("Environment can not be null or empty");
else if (_CommonUtil.CommonUtil.isEmptyOrNull(mid))
throw new _SDKException.SDKException("Mid can not be null or empty");
else if (_CommonUtil.CommonUtil.isEmptyOrNull(merchantKey))
throw new _SDKException.SDKException("Merchant key can not be null or empty");
else if (_CommonUtil.CommonUtil.isEmptyOrNull(website))
throw new _SDKException.SDKException("Website can not be null or empty");
else {
MerchantProperties.isInitialized = true;
MerchantProperties.setEnvironment(environment);
MerchantProperties.setMid(mid);
MerchantProperties.setMerchantKey(merchantKey);
MerchantProperties.setWebsite(website);
}
}
}
/**
* @return string
*/
static getEnvironment() {
return MerchantProperties.environment;
}
/**
* @return string
*/
static getMid() {
return MerchantProperties.mid;
}
/**
* @return string
*/
static getMerchantKey() {
return MerchantProperties.merchantKey;
}
/**
* @return string
*/
static getWebsite() {
return MerchantProperties.website;
}
/**
* @return string
*/
static getClientId() {
return MerchantProperties.clientId;
}
/**
* @return string
*/
static getCallbackUrl() {
return MerchantProperties.callbackUrl;
}
/**
* @return string
*/
static getInitiateTxnUrl() {
return MerchantProperties.initiateTxnUrl;
}
/**
* @return string
*/
static getRefundUrl() {
return MerchantProperties.refundUrl;
}
/**
* @return string
*/
static getRefundStatusUrl() {
return MerchantProperties.refundStatusUrl;
}
/**
* @return string
*/
static getPaymentStatusUrl() {
return MerchantProperties.paymentStatusUrl;
}
/**
* @return int
*/
static getConnectionTimeout() {
return MerchantProperties.connectTimeout;
}
/**
* @param int connectionTimeout
* @return void
*/
static setConnectionTimeout(connectionTimeout) {
MerchantProperties.connectTimeout = connectionTimeout;
}
/**
* @param string mid
*/
static setMid(mid) {
MerchantProperties.mid = mid;
}
/**
* @param string merchantKey
* @return void
*/
static setMerchantKey(merchantKey) {
MerchantProperties.merchantKey = merchantKey;
}
/**
* @param string website
* @return void
*/
static setWebsite(website) {
MerchantProperties.website = website;
}
/**
* @param string clientId
* @return void
*/
static setClientId(clientId) {
MerchantProperties.clientId = clientId;
}
/**
* @param string callbackUrl
* @return void
*/
static setCallbackUrl(callbackUrl) {
MerchantProperties.callbackUrl = callbackUrl;
}
/**
* @param string environment
* @return void
* @throws Exception
*/
static setEnvironment(environment) {
MerchantProperties.environment = environment;
_LoggingUtil.LoggingUtil.addLog(_LoggingUtil.LoggingUtil.LogLevel.INFO, "MerchantProperties", "Setting Environment for " + environment);
if (environment === _LibraryConstants.LibraryConstants.PRODUCTION_ENVIRONMENT) {
MerchantProperties.initiateTxnUrl = "https://secure.paytmpayments.com/theia/api/v1/initiateTransaction";
MerchantProperties.refundUrl = "https://secure.paytmpayments.com/refund/api/v1/async/refund";
MerchantProperties.paymentStatusUrl = "https://secure.paytmpayments.com/merchant-status/api/v1/getPaymentStatus";
MerchantProperties.refundStatusUrl = "https://pgp-ite.paytm.in/refund/api/v1/refundStatus";
}
}
}
exports.MerchantProperties = MerchantProperties;
/**
* @var bool
*/
MerchantProperties.isInitialized = false;
// TEST for Testing and PROD for Production.
/**
* @var string
* ENVIRONMENT is used to set URLs(TESTING or PRODUCTION)
*/
MerchantProperties.environment = _LibraryConstants.LibraryConstants.STAGING_ENVIRONMENT;
/**
* @var int
* timeout constants
*/
MerchantProperties.connectTimeout = 30000; // 30 * 1000
/**
* @var int
* timeout constants
*/
MerchantProperties.readTimeout = 80000; // 80 * 1000
/**
* @var string
*/
MerchantProperties.website = "WEBSTAGING";
/**
* @var string callbackUrl callback url on which paytm will respond for api calls
*/
MerchantProperties.callbackUrl = "https://pg-staging.paytm.in/MerchantSite/bankResponse";
/** URLs */
/**
* @var string
*/
MerchantProperties.initiateTxnUrl = "https://securestage.paytmpayments.com/theia/api/v1/initiateTransaction";
/**
* @var string
*/
MerchantProperties.refundUrl = "https://securestage.paytmpayments.com/refund/api/v1/async/refund";
/**
* @var string
*/
MerchantProperties.paymentStatusUrl = "https://securestage.paytmpayments.com/merchant-status/api/v1/getPaymentStatus";
/**
* @var string
*/
MerchantProperties.refundStatusUrl = "https://securestage.paytmpayments.com/refund/api/v1/refundStatus";