palmpaywrappersdk
Version:
PalmPay Wrapper Sdk
178 lines (177 loc) • 9 kB
JavaScript
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PayOutService = void 0;
require("reflect-metadata");
const axios_1 = __importDefault(require("axios"));
const Util_1 = require("../Utils/Util");
//import { BuildPayload } from '../PayloadBuilders/BuildPayload';
const Util_2 = require("../Utils/Util");
const EndpointsConstant_1 = require("../EndpointsConstant");
class PayOutService {
constructor(appId, countryCode, privateKey, isTest) {
this.appId = appId;
this.countryCode = countryCode;
this.privateKey = privateKey;
this.isTest = isTest;
this.appId = appId;
this.countryCode = countryCode;
this.privateKey = privateKey;
this.isTest = isTest;
}
getCountryCode() {
return this.countryCode;
}
getAppId() {
return this.appId;
}
getPrivateKey() {
return this.privateKey;
}
getIsTest() {
return this.isTest;
}
createOrder(builder) {
return __awaiter(this, void 0, void 0, function* () {
const createOrderRequest = builder.build();
try {
const createOrderEndpoint = this.isTest ? EndpointsConstant_1.API_ENDPOINTS_SANDBOX.CREATE_ORDER : EndpointsConstant_1.API_ENDPOINTS_LIVE.CREATE_ORDER;
const signedRequest = (0, Util_2.createSign)(builder, this.privateKey);
const header = (0, Util_1.createHeader)(this.countryCode, signedRequest, 'Bearer '.concat(this.appId), 'application/json');
const response = yield axios_1.default.post(createOrderEndpoint, createOrderRequest.toJSON(), { headers: header });
console.log("PayOut Response Data: ", response.data);
return response.data;
}
catch (error) {
if (axios_1.default.isAxiosError(error)) {
throw new Error(`Error message: ${error.message}`);
}
else {
console.log("Unexpected error", error);
throw new Error;
}
}
});
}
fetchOrderStatus(builder) {
return __awaiter(this, void 0, void 0, function* () {
const orderStatusRequest = builder.build();
console.log(`Order Request: ${orderStatusRequest.toJSON}`);
try {
const orderStatusEndpoint = this.isTest ? EndpointsConstant_1.API_ENDPOINTS_SANDBOX.ORDER_STATUS : EndpointsConstant_1.API_ENDPOINTS_LIVE.ORDER_STATUS;
const signedRequest = (0, Util_2.createSign)(builder, this.privateKey);
const header = (0, Util_1.createHeader)(this.countryCode, signedRequest, 'Bearer '.concat(this.appId), 'application/json');
const response = yield axios_1.default.post(orderStatusEndpoint, orderStatusRequest.toJSON(), { headers: header });
return response.data;
}
catch (error) {
if (axios_1.default.isAxiosError(error)) {
throw new Error(`Error message: ${error.message}`);
}
else {
throw new Error('Unexpected error');
}
}
});
}
queryMerchantBalance2(builder) {
return __awaiter(this, void 0, void 0, function* () {
const merchantBalanceRequest = builder.build();
try {
const queryMerchantBalanceEndpoint = this.isTest ? EndpointsConstant_1.API_ENDPOINTS_SANDBOX.QUERY_MERCHANT_BALANCE : EndpointsConstant_1.API_ENDPOINTS_LIVE.QUERY_MERCHANT_BALANCE;
const signedRequest = (0, Util_2.createSign)(builder, this.privateKey);
const header = (0, Util_1.createHeader)(this.countryCode, signedRequest, 'Bearer '.concat(this.appId), 'application/json');
const response = yield axios_1.default.post(queryMerchantBalanceEndpoint, merchantBalanceRequest.toJSON(), { headers: header });
console.log("queryMerchantBalance Response Data: ", response.data);
return response.data;
}
catch (error) {
if (axios_1.default.isAxiosError(error)) {
throw new Error(`Error message: ${error.message}`);
}
else {
console.log("Unexpected error", error);
throw new Error;
}
}
});
}
queryBankList(builder) {
return __awaiter(this, void 0, void 0, function* () {
const queryBankListRequest = builder.build();
try {
const queryBankListEndpoint = this.isTest ? EndpointsConstant_1.API_ENDPOINTS_SANDBOX.QUERY_BANK_LIST : EndpointsConstant_1.API_ENDPOINTS_LIVE.QUERY_BANK_LIST;
const signedRequest = (0, Util_2.createSign)(builder, this.privateKey);
const header = (0, Util_1.createHeader)(this.countryCode, signedRequest, 'Bearer '.concat(this.appId), 'application/json');
const response = yield axios_1.default.post(queryBankListEndpoint, queryBankListRequest.toJSON(), { headers: header });
console.log("queryBankListRequest Response Data: ", response.data);
return response.data;
}
catch (error) {
if (axios_1.default.isAxiosError(error)) {
throw new Error(`Error message: ${error.message}`);
}
else {
console.log("Unexpected error", error);
throw new Error;
}
}
});
}
queryBankAccount(builder) {
return __awaiter(this, void 0, void 0, function* () {
const queryBankAccountRequest = builder.build();
try {
const queryBankAccountEndpoint = this.isTest ? EndpointsConstant_1.API_ENDPOINTS_SANDBOX.QUERY_BANK_ACCOUNT : EndpointsConstant_1.API_ENDPOINTS_LIVE.QUERY_BANK_ACCOUNT;
const signedRequest = (0, Util_2.createSign)(builder, this.privateKey);
const header = (0, Util_1.createHeader)(this.countryCode, signedRequest, 'Bearer '.concat(this.appId), 'application/json');
const response = yield axios_1.default.post(queryBankAccountEndpoint, queryBankAccountRequest.toJSON(), { headers: header });
console.log("queryBankAccountRequest Response Data: ", response.data);
return response.data;
}
catch (error) {
if (axios_1.default.isAxiosError(error)) {
throw new Error(`Error message: ${error.message}`);
}
else {
console.log("Unexpected error", error);
throw new Error;
}
}
});
}
queryPalmPayAccount(builder) {
return __awaiter(this, void 0, void 0, function* () {
const queryPalmPayAccountRequest = builder.build();
try {
const queryPalmPayAccountEndpoint = this.isTest ? EndpointsConstant_1.API_ENDPOINTS_SANDBOX.QUERY_PALMPAY_ACCOUNT : EndpointsConstant_1.API_ENDPOINTS_LIVE.QUERY_PALMPAY_ACCOUNT;
const signedRequest = (0, Util_2.createSign)(builder, this.privateKey);
const header = (0, Util_1.createHeader)(this.countryCode, signedRequest, 'Bearer '.concat(this.appId), 'application/json');
const response = yield axios_1.default.post(queryPalmPayAccountEndpoint, queryPalmPayAccountRequest.toJSON(), { headers: header });
console.log("queryPalmPayAccountRequest Response Data: ", response.data);
return response.data;
}
catch (error) {
if (axios_1.default.isAxiosError(error)) {
throw new Error(`Error message: ${error.message}`);
}
else {
console.log("Unexpected error", error);
throw new Error;
}
}
});
}
}
exports.PayOutService = PayOutService;