gapp-checkout
Version:
Mobile Gapp flow for Checkout
85 lines (84 loc) • 2.45 kB
TypeScript
export type TDataLoadType = 'network-service' | 'network-service-config';
export type ICheckoutGAppProps = {
dataLoad: {
[x: string]: any;
axiosOrder?: any;
axiosCheckout?: any;
baseUrl?: {
checkout?: string;
order?: string;
};
endpoints: {
postOrder?: string;
postCheckout?: string;
};
token?: string;
header?: {
[x: string]: any;
};
params?: {
[x: string]: any;
};
payload: {
[x: string]: any;
customer: {
first_name: string;
last_name: string;
contact_number: string;
email: string;
[x: string]: any;
};
payment_method: {
type: 'cash' | 'online';
id: number | string;
name: string;
};
region: string;
city: string;
barangay: string;
street: string;
building_name: string;
landmark: string;
subtotal: number;
discount: number;
shopee_fee: number;
delivery_fee: number;
total_amount: number;
items: Array<{
name: string;
description: string;
quantity: number;
price: number;
[x: string]: any;
}>;
processor: {
token: string;
redirect_url: {
success: string;
failure: string;
cancel: string;
};
};
};
};
dataIn: {
dataLoadType: TDataLoadType;
constructOrderPayload: (args: any) => any;
constructCheckoutPayload?: (args: any) => any;
initialRouteName?: string;
screens?: {
stackName?: string;
stackOptions?: {
[x: string]: any;
};
dataLoad?: any;
dataIn?: any;
dataOut?: (args: any) => void;
[x: string]: any;
}[];
[x: string]: any;
};
dataOut: (args: any) => void;
[x: string]: any;
};
export type TPaymentMethodGAppFlow = ICheckoutGAppProps;