ngx-pesapal
Version:
Angular schematics lib for abstracting Pesapal APIs
133 lines (132 loc) • 3.2 kB
TypeScript
export declare const baseURL: URL;
export interface IKeys {
consumer_key: string;
consumer_secret: string;
ipn_id: string;
}
export interface ITokenResponse {
token: string;
expiryDate: string;
error: any;
status: string;
message: string;
}
export interface ISubmitOrderRequest {
id: string;
currency: string;
amount: number;
description: string;
callback_url: string;
redirect_mode: string;
notification_id: string;
branch: string;
billing_address: Partial<IBillingAddress> | IBillingAddress;
}
interface IBillingAddress {
email_address: string;
phone_number: string;
country_code: string;
first_name: string;
middle_name: string;
last_name: string;
line_1: string;
line_2: string;
city: string;
state: string;
postal_code: string;
zip_code: string;
}
export interface IIPNRequest {
url: string;
ipn_notification_type: string;
}
export interface IIPNResponse {
url: string;
created_date: string;
ipn_id: string;
error: null | any;
status: string;
}
export interface ISubmitOrderResponse {
order_tracking_id: string;
merchant_reference: string;
redirect_url: string;
error: null | any;
status: string;
}
export interface ITransactionStatusResponse {
payment_method: string;
amount: number;
created_date: string;
confirmation_code: string;
payment_status_description: string;
description: string;
message: string;
payment_account: string;
call_back_url: string;
status_code: number;
merchant_reference: string;
payment_status_code: string;
currency: string;
error: {
error_type: string | null;
code: string | null;
message: string | null;
call_back_url: string | null;
};
status: string;
}
export interface IRecurringPaymentsRequest extends Partial<ISubmitOrderRequest> {
account_number: string;
subscription_details: Partial<{
start_date: string;
end_date: string;
frequency: EFrequency;
}>;
}
declare enum EFrequency {
DAILY = "DAILY",
WEEKLY = "WEEKLY",
MONTHLY = "MONTHLY",
YEARLY = "YEARLY"
}
export interface IRecurringPaymentsResponse {
payment_method: string;
amount: number;
created_date: string;
confirmation_code: string;
payment_status_description: string;
description: string;
message: string;
payment_account: string;
call_back_url: string;
status_code: number;
merchant_reference: string;
payment_status_code: string;
currency: string;
subscription_transaction_info: {
account_reference: string;
amount: number;
first_name: string;
last_name: string;
correlation_id: number;
};
error: {
error_type: string | null;
code: string | null;
message: string | null;
call_back_url: string | null;
};
status: string;
}
export interface IRefundRequest {
confirmation_code: string;
amount: string;
username: string;
remarks: string;
}
export interface IRefundResponse {
message: string;
status: string;
}
export {};