UNPKG

@prakrit_m/tmn-voucher

Version:

ไลบรารี TypeScript สำหรับการแลกคูปองอั่งเปา TrueMoney Wallet

70 lines (67 loc) 1.94 kB
type StatusCode = "BAD_PARAM" | "SUCCESS" | "VOUCHER_NOT_FOUND" | "VOUCHER_OUT_OF_STOCK" | "VOUCHER_EXPIRED" | "CANNOT_GET_OWN_VOUCHER" | "TARGET_USER_NOT_FOUND" | "TARGET_USER_REDEEMED" | "TARGET_USER_STATUS_INACTIVE" | "INTERNAL_ERROR"; type VoucherStatus = "active" | "redeemed" | "expired"; type Voucher = { voucher_id: string; amount_baht: string; redeemed_amount_baht: string; member: number; status: VoucherStatus; link: string; detail: string; expire_date: number; type: "R" | "F"; redeemed: number; available: number; }; type Profile = { full_name: string; }; type RedeemerProfile = { mobile_number: string; }; type MyTicket = { mobile: string; update_date: number; amount_baht: string; full_name: string; profile_pic: string | null; }; type Data = { voucher: Voucher; owner_profile: Profile; redeemer_profile: RedeemerProfile; my_ticket: MyTicket; tickets: MyTicket[]; }; type ReturnData = { success: true; code: "SUCCESS"; message: string; amount: number; data: Data; } | { success: false; code: Exclude<StatusCode, "SUCCESS">; message: string; data?: (Data & { my_ticket: MyTicket | null; redeemer_profile: RedeemerProfile | null; }) | null; } | { success: false; code: "MAINTEINANCE" | "INVALID_INPUT" | "CONDITION_NOT_MET"; message: string; }; type Options = { amount: number; }; /** * แลกคูปอง TrueMoney Wallet * @param phoneNumber - เบอร์โทรศัพท์ผู้รับเงิน * @param voucherUrl - URL ของคูปอง * @param options - ตัวเลือกเพิ่มเติม * @returns Promise<ReturnData> * @throws {TmnVoucherError} */ declare function redeemvouchers(phoneNumber: string, voucherUrl: string, options?: Options): Promise<ReturnData>; export { redeemvouchers as default };