palmpaywrappersdk
Version:
PalmPay Wrapper Sdk
67 lines (55 loc) • 2.35 kB
text/typescript
import { PayWithWalletService } from '../Services/PayWithWalletService';
import { CreateOrderRequestBuilder } from '../RequestDTOs/CreateOrderRequest';
import { QueryOrderResultBuilder } from '../RequestDTOs/QueryOrderResultRequest';
import { ErrorResponse } from '../ResponseDTOs/ErrorResponse';
import { plainToClass } from 'class-transformer';
import { PayInCreateOrderResponse } from '../ResponseDTOs/PayInCreateOrderResponse';
import { PayInCreateOrderResponseData } from '../ResponseDTOs/PayInCreateOrderResponseData';
import { TransactionResultsResponse } from '../ResponseDTOs/TransactionResultsResponse';
import { createHeader, removeUndefinedValues, transformUndefinedToNull } from '../Utils/Util';
export class PayWithWalletServiceManager {
private payWithWalletService: PayWithWalletService;
constructor(
private appId: string,
private countryCode: string,
privateKey: string,
isTest: boolean
) {
this.payWithWalletService = new PayWithWalletService(
appId,
countryCode,
privateKey,
isTest
);
}
async createOrder(createOrderRequestBuilder: CreateOrderRequestBuilder) {
try {
// Create order status
const createOrderResponse = await this.payWithWalletService.createOrder(createOrderRequestBuilder);
console.log("OrderResponse Manager: ", createOrderResponse);
return createOrderResponse;
} catch (error) {
console.error('Error creating order:', error);
}
}
async fetchOrderStatus(builder: QueryOrderResultBuilder) {
try {
// Fetch order status
const fetchOrderStatusResponse = await this.payWithWalletService.fetchOrderStatus(builder);
console.log("fetchOrderStatusResponse: ", fetchOrderStatusResponse);
return fetchOrderStatusResponse; // Return the original response if needed
} catch (error) {
console.error('Error fetching order status:', error);
throw error; // Rethrow the error to propagate it
}
}
async querySinglePayIn(builder: QueryOrderResultBuilder) {
try {
const querySinglePayInResponse = await this.payWithWalletService.fetchOrderStatus(builder);
console.log('querySinglePayIn Response:', querySinglePayInResponse);
return querySinglePayInResponse;
} catch (error) {
console.error('Error creating order:', error);
}
}
}