diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..641b7aa --- /dev/null +++ b/index.d.ts @@ -0,0 +1,107 @@ +declare module 'sslcommerz-lts' { + export interface SSLCommerzInitData { + total_amount: number | string; + currency: string; + tran_id: string; + success_url: string; + fail_url: string; + cancel_url: string; + ipn_url?: string; + multi_card_name?: string; + allowed_bin?: string; + emi_option?: string; + emi_max_inst_option?: string; + emi_selected_inst?: string; + cus_name: string; + cus_email: string; + cus_add1: string; + cus_add2?: string; + cus_city: string; + cus_state?: string; + cus_postcode: string | number; + cus_country: string; + cus_phone: string; + cus_fax?: string; + shipping_method: string; + num_of_item?: number | string; + ship_name?: string; + ship_add1?: string; + ship_add2?: string; + ship_city?: string; + ship_state?: string; + ship_postcode?: string | number; + ship_country?: string; + product_name: string; + product_category: string; + product_profile: string; + hours_till_departure?: string; + flight_type?: string; + pnr?: string; + journey_from_to?: string; + third_party_booking?: string; + hotel_name?: string; + length_of_stay?: string; + check_in_time?: string; + hotel_city?: string; + product_type?: string; + topup_number?: string; + country_topup?: string; + cart?: string; + product_amount?: string; + discount_amount?: string; + convenience_fee?: string; + value_a?: string; + value_b?: string; + value_c?: string; + value_d?: string; + [key: string]: any; + } + + export interface SSLCommerzValidateData { + val_id: string; + } + + export interface SSLCommerzRefundData { + refund_amount: number | string; + refund_remarks: string; + bank_tran_id: string; + refe_id: string; + } + + export interface SSLCommerzRefundQueryData { + refund_ref_id: string; + } + + export interface SSLCommerzTransQueryBySessionData { + sessionkey: string; + } + + export interface SSLCommerzTransQueryByTransData { + tran_id: string; + } + + export interface SSLCommerzApiResponse { + status: string; + failedreason: string; + sessionkey: string; + gw: { [key: string]: string }; + redirectGatewayURL: string; + directPaymentURL: string; + GatewayPageURL: string; + storeBanner: string; + storeLogo: string; + desc: any[]; + is_direct_pay_enable: string; + [key: string]: any; + } + + export default class SSLCommerzPayment { + constructor(store_id: string, store_passwd: string, live?: boolean); + init(data: SSLCommerzInitData, url?: string | boolean, method?: string): Promise; + validate(data: SSLCommerzValidateData, url?: string | boolean, method?: string): Promise; + initiateRefund(data: SSLCommerzRefundData, url?: string | boolean, method?: string): Promise; + refundQuery(data: SSLCommerzRefundQueryData, url?: string | boolean, method?: string): Promise; + transactionQueryBySessionId(data: SSLCommerzTransQueryBySessionData, url?: string | boolean, method?: string): Promise; + transactionQueryByTransactionId(data: SSLCommerzTransQueryByTransData, url?: string | boolean, method?: string): Promise; + } +} diff --git a/package.json b/package.json index 20e64dc..96a4979 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "description": "LTS package, Officially supported by SSLCommerz Integration Team.", "version": "1.2.0", "main": "index.js", + "types": "index.d.ts", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, diff --git a/readme.md b/readme.md index 5cb090c..c6426af 100755 --- a/readme.md +++ b/readme.md @@ -76,7 +76,7 @@ app.listen(port, () => { app.get('/validate', (req, res) => { const data = { - val_id:ADGAHHGDAKJ456454 //that you go from sslcommerz response + val_id: 'ADGAHHGDAKJ456454' //that you got from sslcommerz response }; const sslcz = new SSLCommerzPayment(store_id, store_passwd, is_live) sslcz.validate(data).then(data => { @@ -92,10 +92,10 @@ app.get('/validate', (req, res) => { app.get('/initiate-refund', (req, res) => { const data = { - refund_amount:10, - refund_remarks:'', - bank_tran_id:CB5464321445456456, - refe_id:EASY5645415455, + refund_amount: 10, + refund_remarks: '', + bank_tran_id: 'CB5464321445456456', + refe_id: 'EASY5645415455', }; const sslcz = new SSLCommerzPayment(store_id, store_passwd, is_live) sslcz.initiateRefund(data).then(data => { @@ -111,7 +111,7 @@ app.get('/initiate-refund', (req, res) => { app.get('/refund-query', (req, res) => { const data = { - refund_ref_id:SL4561445410, + refund_ref_id: 'SL4561445410', }; const sslcz = new SSLCommerzPayment(store_id, store_passwd, is_live) sslcz.refundQuery(data).then(data => { @@ -127,7 +127,7 @@ app.get('/refund-query', (req, res) => { //you also use this as internal method app.get('/transaction-query-by-transaction-id', (req, res) => { const data = { - tran_id:AKHLAKJS5456454, + tran_id: 'AKHLAKJS5456454', }; const sslcz = new SSLCommerzPayment(store_id, store_passwd, is_live) sslcz.transactionQueryByTransactionId(data).then(data => { @@ -143,7 +143,7 @@ app.get('/transaction-query-by-transaction-id', (req, res) => { //you also use this as internal method app.get('/transaction-query-by-session-id', (req, res) => { const data = { - sessionkey:AKHLAKJS5456454, + sessionkey: 'AKHLAKJS5456454', }; const sslcz = new SSLCommerzPayment(store_id, store_passwd, is_live) sslcz.transactionQueryBySessionId(data).then(data => {