papara-wrapper
Version:
Papara API wrapper for node
281 lines (280 loc) • 8.63 kB
TypeScript
import { PaparaResponse, AccountData, PaymentsData, ValidationData, MasspaymentData, MasspaymentVerificationData, AccountLedgersData, SettlementData, BankAccountsData, CashdepositData, CashdepositProvisionData } from './interfaces';
export default class Papara {
private http;
/**
* Creates an instance of papara.
* @param { API_KEY, testEnv = false }
*/
constructor({ API_KEY, testEnv, debug }: {
API_KEY: string;
testEnv?: boolean;
debug?: boolean;
});
/**
* Returns information about the account associated with the API_KEY.
*
* @returns Account information.
*/
account(): Promise<PaparaResponse<AccountData>>;
/**
* Accounts ledgers
*
* @param {
* startDate,
* endDate,
* page,
* pageSize,
* entryType,
* accountNumber,
* }
* @returns ledgers
*/
accountLedgers({ startDate, endDate, page, pageSize, entryType, accountNumber, }: {
startDate: string;
endDate: string;
page: number;
pageSize: number;
entryType?: number | string;
accountNumber?: number;
}): Promise<PaparaResponse<AccountLedgersData>>;
/**
* Accounts settlement
* @param {
* startDate,
* endDate,
* entryType,
* }
* @returns settlement
*/
accountSettlement({ startDate, endDate, entryType, }: {
startDate: string;
endDate: string;
entryType?: number | string;
}): Promise<PaparaResponse<SettlementData>>;
/**
* Payments papara
* @param {
* amount,
* referenceId,
* orderDescription,
* notificationUrl,
* redirectUrl,
* turkishNationalId,
* }
* @returns
*/
payments({ amount, referenceId, orderDescription, notificationUrl, redirectUrl, turkishNationalId, }: {
amount: number;
referenceId?: string;
orderDescription: string;
notificationUrl: string;
redirectUrl: string;
turkishNationalId?: string;
}): Promise<PaparaResponse<PaymentsData>>;
/**
* Payments validation
* @param id
* @returns
*/
paymentsValidation(id: string): Promise<PaparaResponse<PaymentsData>>;
/**
* Payments refund
* @param id
* @returns
*/
paymentsRefund(id: string): Promise<PaparaResponse<any>>;
private validation;
/**
* Validations by account number
* @param accountNumber
* @returns
*/
validationByAccountNumber(accountNumber: number): Promise<PaparaResponse<ValidationData>>;
/**
* Validations by email
* @param email
* @returns
*/
validationByEmail(email: string): Promise<PaparaResponse<ValidationData>>;
/**
* Validations by phone number
* @param phoneNumber
* @returns
*/
validationByPhoneNumber(phoneNumber: string): Promise<PaparaResponse<ValidationData>>;
/**
* Validations by tckn
* @param tckn
* @returns
*/
validationByTCKN(tckn: string): Promise<PaparaResponse<ValidationData>>;
private masspayment;
/**
* Masspayments by account number
* @param {
* accountNumber,
* amount,
* turkishNationalId,
* massPaymentId,
* }
* @returns
*/
masspaymentByAccountNumber({ accountNumber, amount, turkishNationalId, massPaymentId, }: {
accountNumber: number;
amount: number;
turkishNationalId?: string;
massPaymentId?: string;
}): Promise<PaparaResponse<MasspaymentData>>;
/**
* Masspayments by email
* @param {
* email,
* amount,
* turkishNationalId,
* massPaymentId,
* }
* @returns
*/
masspaymentByEmail({ email, amount, turkishNationalId, massPaymentId, }: {
email: string;
amount: number;
turkishNationalId?: string;
massPaymentId?: string;
}): Promise<PaparaResponse<MasspaymentData>>;
/**
* Masspayments by phone
* @param {
* phoneNumber,
* amount,
* turkishNationalId,
* massPaymentId,
* }
* @returns
*/
masspaymentByPhone({ phoneNumber, amount, turkishNationalId, massPaymentId, }: {
phoneNumber: string;
amount: number;
turkishNationalId?: string;
massPaymentId?: string;
}): Promise<PaparaResponse<MasspaymentData>>;
private masspaymentVerification;
/**
* Masspayments verfication by id
* @param id
* @returns
*/
masspaymentVerficationById(id: string): Promise<PaparaResponse<MasspaymentVerificationData>>;
/**
* Masspayments verfication by masspayment id
* @param masspaymentId
* @returns
*/
masspaymentVerficationByMasspaymentId(masspaymentId: string): Promise<PaparaResponse<MasspaymentVerificationData>>;
private cashDeposit;
/**
* Cashs deposit by phone number
* @param phoneNumber
* @param amount
* @param [merchantReference]
* @returns
*/
cashDepositByPhoneNumber(phoneNumber: string, amount: number, merchantReference?: string): Promise<PaparaResponse<CashdepositData>>;
/**
* Cashs deposit by account number
* @param accountNumber
* @param amount
* @param [merchantReference]
* @returns
*/
cashDepositByAccountNumber(accountNumber: number, amount: number, merchantReference?: string): Promise<PaparaResponse<CashdepositData>>;
/**
* Cashs deposit by tckn
* @param tckn
* @param amount
* @param [merchantReference]
* @returns
*/
cashDepositByTCKN(tckn: string, amount: number, merchantReference?: string): Promise<PaparaResponse<CashdepositData>>;
/**
* Cashs deposit settlement
* @param StartDate
* @param EndDate
* @returns
*/
cashDepositSettlement(StartDate: string, EndDate: string): Promise<PaparaResponse<SettlementData>>;
private cashDepositProvision;
/**
* Cashs deposit provision by phone number
* @param phoneNumber
* @param amount
* @param [merchantReference]
* @returns
*/
cashDepositProvisionByPhoneNumber(phoneNumber: string, amount: number, merchantReference?: string): Promise<PaparaResponse<CashdepositProvisionData>>;
/**
* Cashs deposit provision by account number
* @param accountNumber
* @param amount
* @param [merchantReference]
* @returns
*/
cashDepositProvisionByAccountNumber(accountNumber: number, amount: number, merchantReference?: string): Promise<PaparaResponse<CashdepositProvisionData>>;
/**
* Cashs deposit provision by tckn
* @param tckn
* @param amount
* @param [merchantReference]
* @returns
*/
cashDepositProvisionByTCKN(tckn: string, amount: number, merchantReference?: string): Promise<PaparaResponse<CashdepositProvisionData>>;
/**
* Cashs deposit provision complete
* @param Id
* @param TransactionDate
* @returns
*/
cashDepositProvisionComplete(Id: number, TransactionDate: string): Promise<PaparaResponse<CashdepositData>>;
/**
* Cashs deposit provision settlement
* @param StartDate
* @param EndDate
* @returns
*/
cashDepositProvisionSettlement(StartDate: string, EndDate: string): Promise<PaparaResponse<SettlementData>>;
private cashDepositVerification;
/**
* Cashs deposit verification by id
* @param id
* @returns
*/
cashDepositVerificationById(id: number): Promise<PaparaResponse<CashdepositData>>;
/**
* Cashs deposit verification by merchant reference
* @param merchantReference
* @returns
*/
cashDepositVerificationByMerchantReference(merchantReference: string): Promise<PaparaResponse<CashdepositData>>;
/**
* Cashs deposit verification by date
* @param StartDate
* @param EndDate
* @param PageIndex
* @param PageItemCount
* @returns
*/
cashDepositVerificationByDate(StartDate: string, EndDate: string, PageIndex: number, PageItemCount: number): Promise<PaparaResponse<CashdepositData[]>>;
/**
* Banks accounts
* @returns
*/
bankAccounts(): Promise<PaparaResponse<BankAccountsData[]>>;
/**
* Banks withdrawal
* @param { bankAccountId, amount }
* @returns
*/
bankWithdrawal({ bankAccountId, amount, }: {
bankAccountId: number;
amount: number;
}): Promise<PaparaResponse<undefined>>;
}