pancake-client-sdk
Version:
Official TypeScript SDK for Pancake POS API
104 lines (103 loc) • 2.89 kB
TypeScript
import { PaymentGateway, PaymentMethod, PaymentTransaction, CreatePaymentRequest, PaymentResponse, RefundRequest, PaymentAnalytics, PaymentWebhookEvent, InstallmentPlan, BankTransferInfo } from '../types/payment';
import { BaseResource } from './base';
export declare class PaymentResource extends BaseResource {
/**
* Get list of payment gateways
*/
listGateways(): Promise<{
data: PaymentGateway[];
}>;
/**
* Get gateway by code
*/
getGateway(code: string): Promise<PaymentGateway>;
/**
* Update gateway settings
*/
updateGatewaySettings(code: string, settings: Partial<PaymentGateway['settings']>): Promise<PaymentGateway>;
/**
* Get list of payment methods
*/
listMethods(params?: {
gateway_code?: string;
currency?: string;
is_active?: boolean;
}): Promise<{
data: PaymentMethod[];
}>;
/**
* Create payment transaction
*/
createPayment(data: CreatePaymentRequest): Promise<PaymentResponse>;
/**
* Get transaction by ID
*/
getTransaction(transactionId: string): Promise<PaymentTransaction>;
/**
* List transactions
*/
listTransactions(params?: {
page_size?: number;
page_number?: number;
gateway_code?: string;
status?: string;
from_date?: string;
to_date?: string;
order_id?: string;
}): Promise<{
data: PaymentTransaction[];
}>;
/**
* Refund transaction
*/
refund(data: RefundRequest): Promise<PaymentTransaction>;
/**
* Cancel transaction
*/
cancel(transactionId: string, reason?: string): Promise<PaymentTransaction>;
/**
* Get payment analytics
*/
getAnalytics(params?: {
from_date?: string;
to_date?: string;
gateway_code?: string;
}): Promise<PaymentAnalytics>;
/**
* Handle webhook event
*/
handleWebhook(gatewayCode: string, data: Record<string, any>, signature?: string): Promise<PaymentWebhookEvent>;
/**
* Get installment plans
*/
getInstallmentPlans(params: {
amount: number;
gateway_code?: string;
bank_code?: string;
}): Promise<{
data: InstallmentPlan[];
}>;
/**
* Get bank transfer info
*/
getBankTransferInfo(transactionId: string): Promise<BankTransferInfo>;
/**
* Verify bank transfer
*/
verifyBankTransfer(transactionId: string, data: {
transfer_proof?: string;
bank_reference?: string;
amount?: number;
transferrer?: string;
}): Promise<PaymentTransaction>;
/**
* Get payment QR code
*/
getPaymentQR(transactionId: string, params?: {
format?: 'svg' | 'png';
size?: number;
}): Promise<{
qr_code: string;
expires_at: string;
}>;
}