{"_id":"@duc.trantrung/merchant-sdk","_rev":"1-9665bce52fda0c9c62d250c49a257af2","name":"@duc.trantrung/merchant-sdk","dist-tags":{"latest":"1.0.0-SNAPSHOT"},"versions":{"1.0.0-SNAPSHOT":{"name":"@duc.trantrung/merchant-sdk","version":"1.0.0-SNAPSHOT","description":"## How to use SDK","main":"src/index.js","keywords":[],"author":{"name":"ductran"},"license":"ISC","scripts":{"build:docs":"jsdoc -c ./.jsdoc"},"dependencies":{"@babel/cli":"^7.16.0","@babel/polyfill":"^7.12.1","@babel/preset-env":"^7.16.0","@babel/register":"^7.16.0","axios":"^0.21.4","buffer":"^6.0.3","crypto-js":"^4.1.1","docdash":"^1.2.0","dotenv":"^10.0.0","enzyme-adapter-react-16":"^1.15.6","https":"^1.0.0","jest":"^27.3.1","jest-date-mock":"^1.0.8","jsdoc":"^3.6.7","lodash":"^4.17.21","query-string":"^7.0.1","request":"^2.88.2","request-promise":"^4.2.6","sinon":"^12.0.1"},"devDependencies":{"@babel/core":"^7.16.0","@babel/node":"^7.16.0"},"gitHead":"be1593b5bb4dea971a4f541ff4ec2a08730cc711","_id":"@duc.trantrung/merchant-sdk@1.0.0-SNAPSHOT","_nodeVersion":"17.2.0","_npmVersion":"8.1.4","dist":{"integrity":"sha512-vrGl37PvrMGdKFGlTEnU8Bx1TKHspiuanMVcG5zeq2YULRc7gbM5nKIPavXaBuwdlZmrdpJQYfFH8jp8h7/fkQ==","shasum":"cd4780200725f4fb54b33dbd5928c6200699b367","tarball":"https://registry.npmjs.org/@duc.trantrung/merchant-sdk/-/merchant-sdk-1.0.0-SNAPSHOT.tgz","fileCount":44,"unpackedSize":368927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8BfvCRA9TVsSAnZWagAAazQP+QGJedAjyUkRbUuqtEjE\nzr41AQ2FRYnrA4eM15nWyLepnpFOMZQyYlf8cJCGMzA86rl8HPWcoAkFCkIL\nY2K4EmCe4IWx7zri34ydXB83aLfpDIIIOqvoEsuWNh8kzLqSxdQd4p45v/ht\njFNCWCzlo/vPFsalvaumddLBQx+7yiWsPFw5jtWSh18Z80HkYW6zUiQvkX5L\nCGW8oHOmw/ZEp3dc0IyzUe/soicLQzXrdRSKaTB7taA1Kgc5rGcxhPZqXddl\nxOp2gWMDChvJBSpLW96j++qkZNEEfXtIVUonutTxQgcaZq9G4JFEipl7eb9F\n0aIf3VoHlr+W71u/NFBmpA/TQqdRp0zThzpFUUMc0i+zd0KsST6xbX4uulyX\nd2qQHKi/nqRVPJsBHSdKD2qg8DlufC0KjAmbgiu+03gRllWjgq3QFBuRrgd2\n8mGcAIf9MdWfwt7tCpG6v0be/P+Gx6SkG0+t2GAdmzC91ZOyGgpfJjnvZk2X\nIFs3j/0WZrOeaWchf9cdQE3V/4BavFwTY9BxIGpiKM2BlCJBgYXaJzZetKIJ\nlMUTbSO1YkzrBHVI46PsHfTLrXZ39WBwQTuk7cRnOrnTlmEO15v2nCRAhAKc\n2eMLfpnz1fqYXD8JeNd7oWVAmXUbSbLKMQEulDqC8ReIu6cVCtf6nR5cBJhP\n12Yj\r\n=qEbz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEEH1TUyUViCcjx4I4cRAHp9kBt7O+vk1YUSU/fg0ocvAiArPBMVUhUnWjx+IVLGxHP6k04LvCXsAcLjcnBbYwyA+A=="}]},"_npmUser":{"name":"duc.trantrung","email":"ductran.tpc@gmail.com"},"directories":{},"maintainers":[{"name":"duc.trantrung","email":"ductran.tpc@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/merchant-sdk_1.0.0-SNAPSHOT_1643124718844_0.7231801002691298"},"_hasShrinkwrap":false}},"time":{"created":"2022-01-25T15:31:58.735Z","1.0.0-SNAPSHOT":"2022-01-25T15:31:59.014Z","modified":"2022-04-05T06:06:29.485Z"},"maintainers":[{"name":"duc.trantrung","email":"ductran.tpc@gmail.com"}],"description":"## How to use SDK","keywords":[],"author":{"name":"ductran"},"license":"ISC","readme":"# Node SDK for Merchant Integration \n\n## How to use SDK\n\nBefore using this SDK, you should run command below to install all needed packages.\n\n```terminal\n    npm install\n```\n\nFor using this SDK, you might copy all files in [src](./src) folder and paste it to your project. Then you should import 2 classess ```MerchantIntegrationOnline```, ```MerchantIntegrationOffline``` in ```src``` folder.\n\n### Config environment:\n\n``` \n- stage : String : \"PRD\"/\"STG\"\n- country : String : Country code of the merchant location. [Refer](https://countrycode.org/)\n- partner_id : String - Unique ID for a partner. Retrieve from Developer Hom\n- partner_secret : String - Secret key for a partner. Retrieve from Developer Home\n- merchant_id : String - Retrieve from Developer Home.\n- terminal_id : String - Retrieve from Developer Home. **Only available for POS (P2M)**\n- client_id : String - Retrieve from Developer Home. **Only available for OnA**\n- client_secret : String - Retrieve from Developer Home. **Only available for OnA**\n- redirect_url : String - The url configured in Developer Home. **Only available for OnA**\n```\n\n### How to configure for online\n\n```\n    const clientOnline = new MerchantIntegrationOnline(stage,country,partner_id,partner_secret,merchant_id,client_id,client_secret,redirect_url)\n```\n\n### How to configure for offline\n```\n    const clientOffline = new MerchantIntegrationOffline(stage,country,partner_id,partner_secret,merchant_id,terminal_id)\n```\n\n### Detail for APIs online \n\n1. Charge Init: \n```\n    respChargeInit = clientOnline.onaChargeInit(partnerTxID,  partnerGroupTxID, amount, currency, isSync, description, metaInfo, items, shippingDetails, hidePaymentMethods)\n```\n\n2. Create Web Url: \n```\n    respChargeInit = clientOnline.onaCreateWebUrl(partnerTxID,  partnerGroupTxID, amount, currency, isSync, description, metaInfo, items, shippingDetails, hidePaymentMethods, state)\n```\n\n3. get OAuth Token\n\n```\n    respAuthCode = clientOnline.onaOAuthToken(partnerTxID,code)\n```\n\n4. Charge Complete\n```\n    respChargeComplete = clientOnline.onaChargeComplete(partnerTxID,respAuthCode.access_token)\n```\n\n5 Get Charge status\n```\n    respChargeStatus = clientOnline.onaGetChargeStatus(partnerTxID, currency, respAuthCode.accessToken)\n```\n\n6. refund online\n```\n    response = clientOnline.onaRefund(refundPartnerTxID, amount, origPartnerTxID, description, respAuthCode.accessToken, currency)\n```\n\n7. Get Refund Status\n```\n    response = clientOnline.onaGetRefundStatus(partnerTxID, respAuthCode.accessToken, currency)\n```\n\n8. Get One time charge status\n```\n    response = clientOnline.onaGetOtcStatus(partnerTxID, respAuthCode.accessToken, currency)\n```\n\n### Detail for APIs offline\n\n1. Create QR Code\n```\n    respCreateQRCode= clientOffline.posCreateQRCode(msgID, partnerTxID, amount, currency)\n```\n\n2. Get transaction detail:\n```\n    resp= clientOffline.posGetTxnDetails(msgID, partnerTxID, currency)\n```\n\n3. Cancel a Transaction\n```file\n    resp= clientOffline.posCancel(msgID, partnerTxID, origPartnerTxID, origTxID, currency)\n```\n\n4. Refund a POS Payment\n```file\n    resp= clientOffline.posRefund(msgID, refundPartnerTxID, amount, currency, origPartnerTxID, description)\n```\n\n5. Get refund transaction detail:\n```\n    resp= clientOffline.posGetRefundDetails(msgID, refundPartnerTxID, currency)\n```\n\n6. Perform a Transaction\n```file\n    resp= clientOffline.posPerformQRCode(msgID, partnerTxID, amount, currency, code)\n```\n","readmeFilename":"README.md"}