Integrate this ecopay SDK to make payment with EcoPay gateway
npm install ecopay-sdk
Create payment transaction:
import { EcoPaySDK } from 'ecopay-sdk';
const ecopayIns = new EcoPaySDK({
// config parameters
});
const sampleData: IInitTransactionRequiredData & IInitTransactionExtraData = {
// your data here
};
ecopayIns.initTransaction(sampleData); // Promise<ICommonResponseData>
Check status of transaction
// other import like above
...
ecopayIns.checkTransaction("<merchant_order_id>"); // Promise<ICommonResponseData>
Initialize Tokenization from EcoPaySDK or separate Tokenization class:
import { EcoPaySDK } from 'ecopay-sdk';
...
const token = new EcoPaySDK.Tokenization({
// config parameters
});
or
import { TokenizationSDK } from 'ecopay-sdk';
...
const token = new TokenizationSDK({
// config parameters
});
Signature | Description |
---|---|
EcoPaySDK(config: IInitSdkConfig) | Init SDK |
initTransaction(params: IInitTransactionRequiredData & IInitTransactionExtraData) | Create payment transaction |
checkTransaction(params: string) | Check status of payment transaction |
getSupportBanks(params: IGetSupportBanks) | Get list of supported banks |
* These methods can be called directly on EcoPaySDK instance for short. Example: ecopaySDKInstance.initTokenization,...
Signature | Description |
---|---|
TokenizationSDK(params: IInitSdkConfig) | Init SDK |
initTokenization(params: IInitTokenizationData) | Create tokenization transaction |
updateTokenzation(id: string, params: IUpdateTokenizationData) | Update tokenization information |
getTokenizations(params: IGetTokenization, id?: string) | Get a list of tokenizations if id is omitted, otherwise get a detail of tokenization with id |
All the above methods have return data of type of Promise<ICommonResponseData>
(*) required
EcoPaySDK init params
Field Type Description secretKey string Merchant secret key merchantCode string Merchant code environment string Environment: DEV or PROD
Required parameters when creating payment transaction
Field Type Description platform(*) string Device platform.
Value one of: 'web', 'mobile' or "desktop"payment_channel(*) string Payment channel:
- 'atm': atm payment
- 'qrcode': qrcode payment
- 'eco_merchant' or 'eco_consumer': payment through app eco merchant or consumer
- 'installment': convert to installment
- 'all': select latermerchant_order_id(*) string Unique order ID amount(*) number Amount of transaction description(*) string Description of transaction redirect_url(*) string Url to notify transaction result to merchant currency(*) string Curreny. 'VND' supported only store_label(*) string Store label store_code(*) string Store code terminal_label(*) string Terminal label terminal_code(*) string Terminal code
Other optional parameters for creating payment transaction
Field Type Description purpose_of_transaction string Purpose of transaction. Required when payment channel is qrcode bank_type string Bank type. Value:
- 'domestic': Payment with domestic bank accounts
- 'international': Payment with international card such as VISA, MasterCard, JCB,...
Required when payment channel is qrcode or atmbank_code string Bank code. Required when payment channel is qrcode payment_type string Payment type. Default is '05' installment_info IInstallmentInfo Goods info when payment channel is installment. More detail below
Installment info
Field Type Description products(*) IProduct[] Array of products
Installment products info
Field Type Description code(*) string Code of product. Example: 'LAPTOP01' name(*) string Name of product. Example: 'Laptop Gaming' category(*) string Array of products. Example: 'LAPTOP' quantity(*) number Quantity unit_price(*) number Price of a single product
Field Type Description disabled_paging boolean Pagination or not. Default false page_size number Page size. Default: 20 code string Bank code partner_code string Partner code sort string Sort field. Example: 'created_at' status string Status: 'active' or 'inactive' type string Type of bank: 'domestic' or 'international'
Field Type Description merchant_user_id(*) string Merchant user id redirect_url(*) string Redirect url to merchant description(*) string Description bank_type(*) string Bank type. Value: 'domestic' or 'international' platform(*) string Device platform bank_code string Bank code store_code string Store code merchant_transid string Merchant transaction id to create tokenization
Field Type Description merchant_user_id(*) string Merchant user id when create tokenization bank_type(*) string Bank type. Value: 'domestic' or 'international' status(*) string Tokenization status
Field Type Description merchant_user_id(*) string User id bank_type(*) string Bank type. Value: 'domestic' or 'international' status string Tokenization status pageSize number Page size currentPage string Current page to get data. Default 1
Field Type Description result_code(*) string Result code. Example: '010200' message_key(*) string Result message key. Example: 'SUCCESS', 'FAILED', 'UNKNOWN',... message(*) string Detail result message data Array or Object Data return signature string Checksum of data. Use this to validate integrity of field data Fields of data when init payment transaction or tokenization successfully:
Field Type Description payment_url(*) string Payment url transid(*) string Transaction id in EcoPay system status(*) string Transaction status expired_at(*) string Time when transaction is expired expired_time(*) number Time duration until expired_at