ecpay-invoice-sdk
Version:
綠界發票 Node.js SDK
88 lines (87 loc) • 2.21 kB
TypeScript
import EcpayInvoiceClient from "./ecpay-invoice.client";
export type EcpayResponse<T> = {
PlatformID?: string | null;
MerchantID: string;
RpHeader: {
Timestamp: number;
};
TransCode: number;
TransMsg: string;
Data: T | null;
};
export type IssueB2CInvoiceParams = {
RelateNumber: string;
CustomerID?: string;
CustomerIdentifier?: string;
CustomerName?: string;
CustomerAddr?: string;
CustomerPhone?: string;
CustomerEmail?: string;
ClearanceMark?: "1" | "2";
Print: "0" | "1";
Donation: "0" | "1";
LoveCode?: string;
CarrierType?: "1" | "2" | "3" | "";
CarrierNum?: string;
TaxType?: "1" | "2" | "3" | "4" | "9";
SpecialTaxType?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
SalesAmount?: number;
InvoiceRemark?: string;
InvType?: "07" | "08";
vat?: "0" | "1";
Items: {
ItemSeq?: number;
ItemName: string;
ItemCount: number;
ItemWord: string;
ItemPrice: number;
ItemTaxType?: "1" | "2" | "3";
ItemAmount?: number;
ItemRemark?: string;
}[];
};
export type IssueB2CInvoiceResult = {
RtnCode: number;
RtnMsg: string;
InvoiceNo: string;
InvoiceDate: string;
RandomNumber: string;
};
export type RevokeB2CInvoiceResult = {
RtnCode: number;
RtnMsg: string;
InvoiceNo: string;
};
export type IssueB2CAllowanceParams = {
InvoiceNo: string;
InvoiceDate: string;
AllowanceNotify: "E" | "S" | "A" | "N";
CustomerName?: string;
NotifyMail?: string;
NotifyPhone?: string;
AllowanceAmount?: number;
Items: {
ItemSeq?: number;
ItemName: string;
ItemCount: number;
ItemWord: string;
ItemPrice: number;
ItemTaxType?: "1" | "2" | "3";
ItemAmount?: number;
ItemRemark?: string;
}[];
};
export type IssueB2CAllowanceResult = {
RtnCode: number;
RtnMsg: string;
IA_Allow_No: string;
IA_Invoice_No: string;
IA_Date: string;
IA_Remain_Allowance_Amt: number;
};
export type RevokeB2CAllowanceResult = {
RtnCode: number;
RtnMsg: string;
IA_Invoice_No: string;
};
export default EcpayInvoiceClient;