{"_id":"@alixpay/alix-nodejs-sdk","_rev":"1-25f049e71fa7b527b68379c1213ad817","name":"@alixpay/alix-nodejs-sdk","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@alixpay/alix-nodejs-sdk","version":"1.0.0","keywords":["Alix","Pay"],"author":{"name":"developer@aliniex.com"},"license":"MIT","_id":"@alixpay/alix-nodejs-sdk@1.0.0","maintainers":[{"name":"alix-vynguyen","email":"vy.nguyen@aliniex.com"},{"name":"alixgate","email":"developer@aliniex.com"}],"dist":{"shasum":"10c987015047f2c6e29d7dc35a85ebb0a5116f03","tarball":"https://registry.npmjs.org/@alixpay/alix-nodejs-sdk/-/alix-nodejs-sdk-1.0.0.tgz","fileCount":70,"integrity":"sha512-CPj2N6DzKUrSxJtId16FBU1v8YVbLQRObkJWlHcf+gciDxuOJ2gR/d0GYaUuXQsnav3Q5+9NQbRWXoLHYDeZQA==","signatures":[{"sig":"MEUCIDtW8resknm2x27TUBYdy7lV31cxO0ZF4HMiX18IV4yWAiEA1f74JqyQeQC1tJ00B9tmnXYaxQn/ByR0PEPXxovKnic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77485},"main":"dist/index.ts","types":"dist/index.d.ts","gitHead":"af04f9216afac93d0ee1ea911451406f8aa6cb10","scripts":{"test":"mocha --require ts-node/register **/*.spec.ts","build":"tsc","prepare":"npm run build --prod"},"_npmUser":{"name":"alix-vynguyen","email":"vy.nguyen@aliniex.com"},"_npmVersion":"10.2.4","description":"Alixplay sdk for nodejs","directories":{},"_nodeVersion":"20.11.1","dependencies":{"axios":"^1.7.5","crypto":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","nock":"^13.2.9","mocha":"^10.0.0","eslint":"^8.3.0","ts-node":"^10.9.1","prettier":"^2.4.1","typescript":"^4.5.2","@types/chai":"^4.3.3","@types/node":"^16.11.10","@types/mocha":"^9.1.1","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.4.0","eslint-config-airbnb-base":"^15.0.0","@typescript-eslint/eslint-plugin":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/alix-nodejs-sdk_1.0.0_1724758425043_0.9438496154491842","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@alixpay/alix-nodejs-sdk","version":"1.0.1","description":"Alixplay sdk for nodejs","main":"dist/index.ts","types":"dist/index.d.ts","scripts":{"prepare":"npm run build --prod","build":"tsc","test":"mocha --require ts-node/register **/*.spec.ts"},"keywords":["Alix","Pay"],"author":{"name":"developer@aliniex.com"},"license":"MIT","devDependencies":{"@types/chai":"^4.3.3","@types/mocha":"^9.1.1","@types/node":"^16.11.10","@typescript-eslint/eslint-plugin":"^5.4.0","@typescript-eslint/parser":"^5.4.0","chai":"^4.3.6","eslint":"^8.3.0","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.25.3","eslint-plugin-prettier":"^4.0.0","mocha":"^10.0.0","nock":"^13.2.9","prettier":"^2.4.1","ts-node":"^10.9.1","typescript":"^4.5.2"},"dependencies":{"axios":"^1.7.5","crypto":"^1.0.1"},"_id":"@alixpay/alix-nodejs-sdk@1.0.1","gitHead":"af04f9216afac93d0ee1ea911451406f8aa6cb10","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-ocWIvtMCNzriHtZ8DFll55SPRbVueNGwxH5uvN/xLISuagaD1VoJA4JaaMTmqZ0vOii6GLLHwVkxuZq5v2Lahg==","shasum":"c5aa6c5a88f5ab5b9c84ab705dcffaa7f8219a25","tarball":"https://registry.npmjs.org/@alixpay/alix-nodejs-sdk/-/alix-nodejs-sdk-1.0.1.tgz","fileCount":47,"unpackedSize":52698,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDxuGcRiANQTQ/+GHDQwdbG40B23q4nxa/DAKDVssqXSAiA/0kgzhHkNlMnehSIM8Dl4vq+ORCRGN+HB2EcK/xe3RA=="}]},"_npmUser":{"name":"alix-vynguyen","email":"vy.nguyen@aliniex.com"},"directories":{},"maintainers":[{"name":"alix-vynguyen","email":"vy.nguyen@aliniex.com"},{"name":"alixgate","email":"developer@aliniex.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/alix-nodejs-sdk_1.0.1_1724758770903_0.8708059130360086"},"_hasShrinkwrap":false}},"time":{"created":"2024-08-27T11:33:44.958Z","modified":"2024-08-27T11:39:31.210Z","1.0.0":"2024-08-27T11:33:45.210Z","1.0.1":"2024-08-27T11:39:31.028Z"},"author":{"name":"developer@aliniex.com"},"license":"MIT","keywords":["Alix","Pay"],"description":"Alixplay sdk for nodejs","maintainers":[{"name":"alix-vynguyen","email":"vy.nguyen@aliniex.com"},{"name":"alixgate","email":"developer@aliniex.com"}],"readme":"## AliXPay official js SDK\n\n## Table of Contents\n\n<!-- TOC -->\n\n* [General info](#general-info)\n    * [Installation](#installation)\n    * [Authentication](#authentication)\n        * [Domain, ApiKey and ApiSecret](#apikey-and-apisecret)\n    * [Dependencies](#dependencies)\n    * [Usage](#usage)\n        * [Sandbox](#sandbox)\n        * [Production](#production)\n* [Prices](#prices)\n    * [Get prices](#get-prices)\n* [Account](#account)\n    * [Verify account](#verify-account)\n    * [Verify bank account](#verify-bank-account)\n    * [Get account balance](#get-account-balance)\n* [Orders](#orders)\n    * [Fetch order](#fetch-order)\n    * [Order creation](#creating-orders)\n        * [Creating a buy order](#creating-a-buy-order)\n        * [Creating a sell order](#creating-a-sell-order)\n\n<!-- TOC -->\n\n# General info\n\nThe AliXPay SDK is a plug and play ready to go implementation to access our services.   \nIt allows for a simple and fast integration.\n\n# Installation\n\nInstall the package via [npm](https://npmjs.com/)\n\n```\nnpm i @alixpay/alix-nodejs-sdk \n```\n\n# Authentication\n\n## Public key and ApiSecret\n\nWhile on-boarding with aliXpay, you will be provided with information,   \ninitially these will be for the sandbox\nenvironment.\nOnce you are done testing the implementation, you will receive the credentials to use the production environment.\n\n# Usage\n\n```js\nAlixPay.create(code, apiSecret, language, env)\n```\n\n| Property     | type     | required | description                                                         |\n|--------------|----------|----------|---------------------------------------------------------------------|\n| `code` | `string` | `true`   | partner code         |\n| `apiSecret` | `string` | `true`   | Given API Secret                                                    |\n| `language`    | `string` | `true`   | Given API language                                                       |\n| `env`  | `string`   | `Staging`  | Staging | Production Enable if testing, and provide sandbox api key and secret to method |\n\n###### Sandbox\n\n```js\nconst code = 'partner';\nconst sandboxApiSecret = 'xxxx-xxxx-xxxx-xxxx';\nconst language = 'en'\nconst env = 'Staging';\nAlixPay.create(code, sandboxApiSecret, language, env)\n ````\n\n###### Production\n\n```js\nconst code = 'partner';\nconst apiSecret = 'xxxx-xxxx-xxxx-xxxx';\nconst language = 'en'\nconst env = 'Production';\nAlixPay.create(code, apiSecret, language, env)\n ````\n\n---\n### Verify Account \nAllows the partner verify the account \n> **verify**\n>```js\n> alixPay.verifyAccount(partnerCode, signature);\n>```\n\n| Property   | description | required | description                        |\n|:-----------|:------------|:---------|:-----------------------------------|\n| `partnerCode` | `string`    | `true`   | partnerCode provided by AliXPay |\n| `signature` | `string`    | `true`   |The data shall be signed according partnerCode|secretKey |\n\n**Result Example**\n\n```json\n{\n  \"name\": \"string\",\n  \"email\": \"string\",\n  \"status\": \"string\",\n  \"signature\": \"string\"\n}\n```\n### Verify Bank Account \nAllows the partner verify the bank account \n> **verify**\n>```js\n> alixPay.verifyAccount(partnerCode, bankCode, bankAccountNumber, signature);\n>```\n\n| Property   | description | required | description                        |\n|:-----------|:------------|:---------|:-----------------------------------|\n| `partnerCode` | `string`    | `true`   | partnerCode provided by AliXPay |\n| `signature` | `string`    | `true`   |The data shall be signed according partnerCode|bankCode|bankAccountNumber|secretKey |\n\n**Result Example**\n\n```json\n{\n  \"bankCode\": \"string\",\n  \"bankAccountNumber\": \"string\",\n  \"bankAccountName\": \"string\",\n  \"signature\": \"string\"\n}\n```\n### Get Account Balance \nAllows the partner get the current account balance\n> **verify**\n>```js\n> alixPay.verifyAccount(partnerCode, currency, signature);\n>```\n\n| Property   | description | required | description                        |\n|:-----------|:------------|:---------|:-----------------------------------|\n| `partnerCode` | `string`    | `true`   | partnerCode provided by AliXPay |\n| `signature` | `string`    | `true`   |The data shall be signed according partnerCode|currency|secretKey |\n\n**Result Example**\n\n```json\n{\n  \"balance\": 0,\n  \"currency\": \"string\",\n  \"signature\": \"string\"\n}\n```\n### Get Prices  \nAllows the partner get the current price of currencies\n> **verify**\n>```js\n> alixPay.getPrices(partnerCode, currencies, network, signature);\n>```\n\n| Property   | description | required | description                        |\n|:-----------|:------------|:---------|:-----------------------------------|\n| `partnerCode` | `string`    | `true`   | partnerCode provided by AliXPay |\n| `signature` | `string`    | `true`   |The data shall be signed according partnerCode|currencies|network|secretKey |\n\n**Result Example**\n\n```json\n{\n  \"network\": \"string\",\n  \"currencies\": [\n    {\n      \"name\": \"string\",\n      \"price\": 0\n    }\n  ],\n  \"signature\": \"string\"\n}\n```\n### Fetch order\n\n> **Fetch single order**\n>```js\n> alixPay.getOrder(orderId);\n>```\n\n| Property   | description | required | description                        |\n|:-----------|:------------|:---------|:-----------------------------------|\n| `partnerCode` | `string`    | `true`   | partnerCode provided by AliXPay |\n| `externalOrderId` | `string`    | `true`   | Unique ID of the order to retrieve |\n| `signature` | `string`    | `true`   |The data shall be signed according partnerCode|externalOrderId|secretKey |\n\n**Result Example**\n\n```json\n{\n  \"externalOrderId\": \"string\",\n  \"type\": \"string\",\n  \"fiatAmount\": 0,\n  \"paidAmount\": 0,\n  \"tokenTransfer\": {\n    \"currency\": \"string\",\n    \"network\": \"string\",\n    \"price\": 0,\n    \"amount\": 0,\n    \"address\": \"string\",\n    \"txHash\": \"string\"\n  },\n  \"bankTransfer\": {\n    \"bankAccountName\": \"string\",\n    \"bankAccountNumber\": \"string\",\n    \"bankName\": \"string\",\n    \"contentPayment\": \"string\",\n    \"totalPayment\": 0,\n    \"qrUrl\": \"string\"\n  },\n  \"fees\": {\n    \"systemFee\": 0,\n    \"processingFee\": 0\n  },\n  \"status\": \"string\",\n  \"descriptions\": \"string\",\n  \"createdAt\": \"string\",\n  \"expiresAt\": \"string\",\n  \"signature\": \"string\"\n}\n```\n\n---\n\n## Creating orders\n\nAllows your customer to create a buy or sell crypto order with AliXPay. Upon success, the response will contain a checkout\nURL which will be unique for the order. The customer will be redirected to this URL to complete the checkout process,\nwhich will expire after 1 minute if a redirect does not occur.\n\nWhen creating an order you will be required to create a BuyOrderTransaction/SellOrderTransaction/NftBuyOrderTransaction\nobject.\nThis object will allow you to create a transaction using a coin amount, or if you require both, you can\nspecify your own amount using the createDynamic method, this will depend on your business use case.\n\n### Creating a buy order\n\n> ```js\n> alixPay.createBuyOrder(\n>   buyOrderTransaction,\n>   webhookSecretKey,\n> );\n>```\n\n| Property                | type          | required | description                                                                                                                                                                 |\n|-------------------------|---------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `buyOrderTransaction`  | `Object`      | `true`   | `BuyOrderTransaction` object                                                                                                                                                |\n| `webhookSecretKey`   | `string`      `   | The secret key has created and managed by partner                                                                      \n\n\n> **BuyOrderTransaction using Coin as base amount**\n>```js\n>  const buyOrderTransaction = BuyOrderTransaction.createFromCoinAmount(\n>       partnerCode, \n>       externalOrderId, \n>       currency, \n>       coinAmount, \n>       network,\n>       walletAddress, \n>       paymentMethod,\n>       signature\n>   );\n>```\n>\n\n| Property            | type                      | required | description                                                                                                                                   |\n|---------------------|---------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------|\n| `partnerCode` | `string`                  | `true`   | The customer's unique ID                                                                                                                      |\n| `externalOrderId`         | `string`                  | `true`   | Your transaction id as Unique Id                                                        |\n| `currency`         | `string`                  | `true`   | Coin code e.g. 'BTC' or 'ETH' see [Crypto](#crypto) to get a list all available crypto                                                        |\n| `coinAmount`       | `string/number`           | `true`   | The coin amount                                                                                                                               |\n| `network`         | `string`                  | `true`   | Coin code e.g. 'BTC' or 'ETH' see [Crypto](#crypto) to get a list all available crypto     \n| `walletAddress`    | `string`                  | `true`   | The target wallet address to transfer the coin to                                                                                             |\n| `paymentMethod`  | `string/number/undefined` | `false`  | Unique ID for the payment method that you want to get prices for. see [Payment Methods](#payment-methods) to get a list of payment providers. |\n| `signature` | `string/undefined`        | `false`  | The data shall be signed according partnerCode|externalOrderId|currency|coinAmount|network|paymentMethod|secretKey        |\n\n> **Buy order full example**\n>\n>```js\n>const buyOrderTransaction = BuyOrderTransaction.createFromCoinAmount(accountReference, fiatCode, coinCode, coinAmount, walletAddress, paymentMethodId, blockchain, walletAddressTag);// From Coin Amount\n>```\n>```js\n>alixPay.createBuyOrder(\n>     buyOrderTransaction,\n>     webhookSecretKey\n>     );\n>```\n>\n>\n>**Result Example**\n>\n>```json\n>{\n>  \"externalOrderId\": \"string\",\n>  \"type\": \"string\",\n>  \"fiatAmount\": 0,\n>  \"paidAmount\": 0,\n>  \"tokenTransfer\": {\n>    \"currency\": \"string\",\n>    \"network\": \"string\",\n>    \"price\": 0,\n>    \"amount\": 0,\n>    \"address\": \"string\",\n>    \"txHash\": \"string\"\n>  },\n>  \"bankTransfer\": {\n>    \"bankAccountName\": \"string\",\n>    \"bankAccountNumber\": \"string\",\n>    \"bankName\": \"string\",\n>    \"contentPayment\": \"string\",\n>    \"totalPayment\": 0,\n>    \"qrUrl\": \"string\"\n>  },\n>  \"fees\": {\n>    \"systemFee\": 0,\n>    \"processingFee\": 0\n>  },\n>  \"status\": \"string\",\n>  \"descriptions\": \"string\",\n>  \"createdAt\": \"string\",\n>  \"expiresAt\": \"string\",\n>  \"signature\": \"string\"\n>}\n>```\n---\n\n### Creating a Sell order\n\n> ```js\n> alixPay.createSellOrder(\n>   sellOrderTransaction,\n>   webhookSecretKey\n> )\n>```\n\n| Property                  | type          | required | description                                                                                                                                                                 |\n|---------------------------|---------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `sellOrderTransaction`   | `Object`      | `true`   | `SellOrdertransaction` object                                                                                                                                               |\n| `webhookSecretKey`     | `string`      | `true`   | The return url on success                                                                                                               \n---\n\n> **SellOrderTransaction using Fiat as base amount**\n>```js\n> const sellOrderTransaction = SellOrderTransaction.createFromFiatAmount(\n>       partnerCode, \n>       externalOrderId, \n>       currency, \n>       fiatAmount, \n>       bankCode, \n>       bankAccountNumber,\n>       content,\n>       signature,\n>);\n>```\n\n| Property            | type                      | required | description                                                                                                                                   |\n|---------------------|---------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------|\n| `partnerCode` | `string`                  | `true`   | The customer's unique ID                                                                                                                      |\n| `externalOrderId`         | `string`                  | `true`   | The transaction's unique ID         to get a list all available fiats                                                             |\n| `currency`         | `string`                  | `true`   | Coin code e.g. 'BTC' or 'ETH' see [Crypto](#crypto) to get a list all available crypto                                                        |\n| `fiatAmount`       | `string/number`           | `true`   | Fiat amount                                                                                                                                   |\n| `bankCode`    | `string`                  | `true`   | your customer bank code ( f.e VIETCOMBANK, VIETTINBANK, TECHCOMBANK) rejected                                                                                          |\n| `bankAccountNumber`  | `string/number/undefined` | `false`  | your customer bank account number. |\n| `content`       | `string/undefined`        | `false`  | content of transtaction                   |\n| `signature` | `string/undefined`        | `false`  |The data shall be signed according partnerCode|externalOrderId|currency|fiatAmount|bankCode|bankAccountNumber|content|secretKey            |\n\n---\n> **Sell order full example**\n>\n>```js\n>const sellOrderTransaction = SellOrderTransaction.createFromFiatAmount(partnerCode, externalOrderId, currency, fiatAmount, bankCode, bankAccountNumber, content, walletsignatureAddressTag);// From Fiat Amount\n>```\n>```js\n>alixPay.createSellOrder(\n>    sellOrderTransaction,\n>    webhookSecretKey\n>);\n>```\n>\n>**Result Example**\n>\n>```json\n>{\n>  \"externalOrderId\": \"string\",\n>  \"type\": \"string\",\n>  \"fiatAmount\": 0,\n>  \"paidAmount\": 0,\n>  \"tokenTransfer\": {\n>    \"currency\": \"string\",\n>    \"network\": \"string\",\n>    \"price\": 0,\n>    \"amount\": 0,\n>    \"address\": \"string\",\n>    \"txHash\": \"string\"\n>  },\n>  \"bankTransfer\": {\n>    \"bankAccountName\": \"string\",\n>    \"bankAccountNumber\": \"string\",\n>    \"bankName\": \"string\",\n>    \"contentPayment\": \"string\",\n>    \"totalPayment\": 0,\n>    \"qrUrl\": \"string\"\n>  },\n>  \"fees\": {\n>    \"systemFee\": 0,\n>    \"processingFee\": 0\n>  },\n>  \"status\": \"string\",\n>  \"descriptions\": \"string\",\n>  \"createdAt\": \"string\",\n>  \"expiresAt\": \"string\",\n>  \"signature\": \"string\"\n>}\n>```\n---\n\n\n### TEMPLATE FOR NEW DESCRIPTION\n\n> **Simple description**\n>```js\n> alixPay.method(param)\n>```\n\n| Property | description | required | description          |\n|:---------|:------------|:---------|:---------------------|\n| `foo`    | `string`    | `true`   | Description of param |\n\n**Result Example**\n\n```js\n[\n TEMPLATE\n]\n```","readmeFilename":"README.md"}