UNPKG

papara-wrapper

Version:
281 lines (280 loc) 8.63 kB
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>>; }