palmpaywrappersdk
Version:
PalmPay Wrapper Sdk
96 lines (80 loc) • 3.14 kB
text/typescript
import { PayWithCodeService } from '../Services/PayWithCodeService';
import { PayOutPaymentRequestBuilder } from '../RequestDTOs/PayOutPaymentRequest';
import { QueryOrderResultBuilder } from '../RequestDTOs/QueryOrderResultRequest';
import { ErrorResponse } from '../ResponseDTOs/ErrorResponse';
import { PayInCreateOrderResponse } from '../ResponseDTOs/PayInCreateOrderResponseOld';
import { PayOutService } from '../Services/PayOutService';
import { BuildPayload } from '../RequestDTOs/PaymentRequest';
export class PayOutServiceManager {
private payOutService: PayOutService;
constructor(
private appId: string,
private countryCode: string,
privateKey: string,
isTest: boolean
) {
this.payOutService = new PayOutService(
appId,
countryCode,
privateKey,
isTest
);
}
async createOrder(createOrderRequestBuilder: PayOutPaymentRequestBuilder) {
try {
// Create order status
const payOutResponse = await this.payOutService.createOrder(createOrderRequestBuilder);
console.log("OrderResponse Manager: ", payOutResponse);
return payOutResponse;
} catch (error) {
console.error('Error creating order:', error);
}
}
async fetchOrderStatus(builder: QueryOrderResultBuilder) {
try {
const fetchOrderStatusResponse = await this.payOutService.fetchOrderStatus(builder);
console.log('fetchOrderStatus Response:', fetchOrderStatusResponse);
return fetchOrderStatusResponse;
} catch (error) {
console.error('Error creating order:', error);
}
}
async queryMerchantBalance(builder: BuildPayload) {
try {
// Query Merchant Balance
const queryMerchantBalanceResp = await this.payOutService.queryMerchantBalance2(builder);
console.log("fetchOrderStatusResponseCode: ", queryMerchantBalanceResp);
return queryMerchantBalanceResp; // Return the original response if needed
} catch (error) {
console.error('Error fetching order status:', error);
throw error; // Rethrow the error to propagate it
}
}
async queryBankList(builder: BuildPayload) {
try {
const queryBankListResponse = await this.payOutService.queryBankList(builder);
console.log('Query Bank List Response:', queryBankListResponse);
return queryBankListResponse;
} catch (error) {
console.error('Error creating order:', error);
}
}
async queryBankAccount(builder: BuildPayload) {
try {
const queryBankAccountResponse = await this.payOutService.queryBankAccount(builder);
console.log('Query Bank List Response:', queryBankAccountResponse);
return queryBankAccountResponse;
} catch (error) {
console.error('Error creating order:', error);
}
}
async queryPalmPayAccount(builder: BuildPayload) {
try {
const queryBankAccountResponse = await this.payOutService.queryPalmPayAccount(builder);
console.log('queryPalmPayAccount Response:', queryBankAccountResponse);
return queryBankAccountResponse;
} catch (error) {
console.error('Error creating order:', error);
}
}
}