1.0.0-SNAPSHOT • Published 2 years ago

@duc.trantrung/merchant-sdk v1.0.0-SNAPSHOT

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

Node SDK for Merchant Integration

How to use SDK

Before using this SDK, you should run command below to install all needed packages.

    npm install

For using this SDK, you might copy all files in src folder and paste it to your project. Then you should import 2 classess MerchantIntegrationOnline, MerchantIntegrationOffline in src folder.

Config environment:

- stage : String : "PRD"/"STG"
- country : String : Country code of the merchant location. [Refer](https://countrycode.org/)
- partner_id : String - Unique ID for a partner. Retrieve from Developer Hom
- partner_secret : String - Secret key for a partner. Retrieve from Developer Home
- merchant_id : String - Retrieve from Developer Home.
- terminal_id : String - Retrieve from Developer Home. **Only available for POS (P2M)**
- client_id : String - Retrieve from Developer Home. **Only available for OnA**
- client_secret : String - Retrieve from Developer Home. **Only available for OnA**
- redirect_url : String - The url configured in Developer Home. **Only available for OnA**

How to configure for online

    const clientOnline = new MerchantIntegrationOnline(stage,country,partner_id,partner_secret,merchant_id,client_id,client_secret,redirect_url)

How to configure for offline

    const clientOffline = new MerchantIntegrationOffline(stage,country,partner_id,partner_secret,merchant_id,terminal_id)

Detail for APIs online

  1. Charge Init:
    respChargeInit = clientOnline.onaChargeInit(partnerTxID,  partnerGroupTxID, amount, currency, isSync, description, metaInfo, items, shippingDetails, hidePaymentMethods)
  1. Create Web Url:
    respChargeInit = clientOnline.onaCreateWebUrl(partnerTxID,  partnerGroupTxID, amount, currency, isSync, description, metaInfo, items, shippingDetails, hidePaymentMethods, state)
  1. get OAuth Token
    respAuthCode = clientOnline.onaOAuthToken(partnerTxID,code)
  1. Charge Complete
    respChargeComplete = clientOnline.onaChargeComplete(partnerTxID,respAuthCode.access_token)

5 Get Charge status

    respChargeStatus = clientOnline.onaGetChargeStatus(partnerTxID, currency, respAuthCode.accessToken)
  1. refund online
    response = clientOnline.onaRefund(refundPartnerTxID, amount, origPartnerTxID, description, respAuthCode.accessToken, currency)
  1. Get Refund Status
    response = clientOnline.onaGetRefundStatus(partnerTxID, respAuthCode.accessToken, currency)
  1. Get One time charge status
    response = clientOnline.onaGetOtcStatus(partnerTxID, respAuthCode.accessToken, currency)

Detail for APIs offline

  1. Create QR Code
    respCreateQRCode= clientOffline.posCreateQRCode(msgID, partnerTxID, amount, currency)
  1. Get transaction detail:
    resp= clientOffline.posGetTxnDetails(msgID, partnerTxID, currency)
  1. Cancel a Transaction
    resp= clientOffline.posCancel(msgID, partnerTxID, origPartnerTxID, origTxID, currency)
  1. Refund a POS Payment
    resp= clientOffline.posRefund(msgID, refundPartnerTxID, amount, currency, origPartnerTxID, description)
  1. Get refund transaction detail:
    resp= clientOffline.posGetRefundDetails(msgID, refundPartnerTxID, currency)
  1. Perform a Transaction
    resp= clientOffline.posPerformQRCode(msgID, partnerTxID, amount, currency, code)