{"_id":"syli-sdk","_rev":"2-e44ddfe6800d321a846537567f613d61","name":"syli-sdk","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.1":{"name":"syli-sdk","version":"1.0.1","keywords":["syli","crypto","payments","bitcoin","usdt","checkout","webhooks"],"author":{"name":"SYLI"},"license":"MIT","_id":"syli-sdk@1.0.1","maintainers":[{"name":"nimbaalgo","email":"daytrader221@gmail.com"}],"homepage":"https://github.com/Nimba-Algo-Trading/syli-sdk#readme","bugs":{"url":"https://github.com/Nimba-Algo-Trading/syli-sdk/issues"},"dist":{"shasum":"c30f5b4cc1421be323bee8324ba492e5c6526448","tarball":"https://registry.npmjs.org/syli-sdk/-/syli-sdk-1.0.1.tgz","fileCount":7,"integrity":"sha512-Ms0L9+4jpibOHsXzdpQrOuWFpjnH6qkgrfiaTmUdoEkynR/SBs/+HtQ9TRwhW3vToHD3VJ4AyjOKXu7PlADZyA==","signatures":[{"sig":"MEUCIBjIj5d6/SzA+GuekmXJkiEf1bs8n3tMMovcKT8gIEbaAiEAqDZxEj3kbBYb48eRU+dhGpDR3/JamvI/5vBkR5fnU0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30128},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"08e465eac32c38748ad40a96d66e7dff8e4d7492","scripts":{"test":"npm run build && node --test test/*.test.mjs","build":"tsup src/index.ts --format cjs,esm --dts --clean","prepublishOnly":"npm run build"},"_npmUser":{"name":"nimbaalgo","email":"daytrader221@gmail.com"},"repository":{"url":"git+https://github.com/Nimba-Algo-Trading/syli-sdk.git","type":"git"},"_npmVersion":"11.9.0","description":"SDK Node.js officiel pour l’API de paiements crypto SYLI (checkout, paiements, webhooks HMAC).","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.8.3","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/syli-sdk_1.0.1_1789180072042_0.6200835793075712","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"syli-sdk","version":"1.0.2","description":"SDK Node.js officiel pour l’API de paiements crypto SYLI (checkout, paiements, webhooks HMAC).","license":"MIT","author":{"name":"SYLI"},"homepage":"https://github.com/Nimba-Algo-Trading/syli-sdk#readme","repository":{"type":"git","url":"git+https://github.com/Nimba-Algo-Trading/syli-sdk.git"},"bugs":{"url":"https://github.com/Nimba-Algo-Trading/syli-sdk/issues"},"keywords":["syli","crypto","payments","bitcoin","usdt","checkout","webhooks"],"engines":{"node":">=18"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","prepare":"npm run build","test":"npm run build && node --test test/*.test.mjs","prepublishOnly":"npm run build"},"publishConfig":{"access":"public"},"devDependencies":{"@types/node":"^22.15.3","tsup":"^8.5.0","typescript":"^5.8.3"},"gitHead":"2d0f86eb642482459dd330b05bab6c245387183d","_id":"syli-sdk@1.0.2","_nodeVersion":"22.19.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-JdVZ14JtbL1wJTmhRVoMCS7umCVPLBgLh0v1yzZkvIj+Ct5tO19B2Cha/7FkhXB1/7vJ8Ud+zkX7YoTMmKKKFA==","shasum":"4885ed41b0d26b3505098c8e24b9d616233aaa6c","tarball":"https://registry.npmjs.org/syli-sdk/-/syli-sdk-1.0.2.tgz","fileCount":7,"unpackedSize":32426,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCfQSPPFBG245Stdx1GPW8UVbFtdWvT9j2bQXlomxThvwIhALQvcis4GQw8uScHx+K9oWrAaPcHcimsowt9o7se86Tm"}]},"_npmUser":{"name":"nimbaalgo","email":"daytrader221@gmail.com"},"directories":{},"maintainers":[{"name":"nimbaalgo","email":"daytrader221@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/syli-sdk_1.0.2_1789290752325_0.9602424064959625"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-12T02:27:51.892Z","modified":"2026-09-13T09:12:32.613Z","1.0.1":"2026-09-12T02:27:52.215Z","1.0.2":"2026-09-13T09:12:32.460Z"},"bugs":{"url":"https://github.com/Nimba-Algo-Trading/syli-sdk/issues"},"author":{"name":"SYLI"},"license":"MIT","homepage":"https://github.com/Nimba-Algo-Trading/syli-sdk#readme","keywords":["syli","crypto","payments","bitcoin","usdt","checkout","webhooks"],"repository":{"type":"git","url":"git+https://github.com/Nimba-Algo-Trading/syli-sdk.git"},"description":"SDK Node.js officiel pour l’API de paiements crypto SYLI (checkout, paiements, webhooks HMAC).","maintainers":[{"name":"nimbaalgo","email":"daytrader221@gmail.com"}],"readme":"# SDK JavaScript SYLI\r\n\r\nClient Node.js (≥ 18) pour l’API [SYLI](https://sylipayments.com) : paiements crypto, checkout hébergé, et vérification des webhooks (`x-syli-sig`).\r\n\r\nDépôt : [Nimba-Algo-Trading/syli-sdk](https://github.com/Nimba-Algo-Trading/syli-sdk)\r\n\r\n> Serveur uniquement : la clé `syli_live_…` ne doit jamais partir dans le navigateur.\r\n\r\n## Installation\r\n\r\nDepuis npm (après publication) :\r\n\r\n```bash\r\nnpm install syli-sdk\r\n```\r\n\r\nDepuis ce dépôt GitHub :\r\n\r\n```bash\r\nnpm install github:Nimba-Algo-Trading/syli-sdk\r\n```\r\n\r\n## Usage\r\n\r\n```js\r\nimport { Syli } from \"syli-sdk\";\r\n\r\nconst syli = new Syli({\r\n  apiKey: process.env.SYLI_API_KEY,\r\n  // apiUrl: \"https://sylipayments.com/api/v1\", // défaut\r\n});\r\n\r\nconst invoice = await syli.createInvoice({\r\n  price_amount: 49.9,\r\n  price_currency: \"usdt\",\r\n  order_id: \"CMD-9001\",\r\n  success_url: \"https://boutique.example/ok\",\r\n  cancel_url: \"https://boutique.example/annuler\",\r\n  ipn_callback_url: \"https://boutique.example/webhooks/syli\",\r\n});\r\n\r\n// Redirigez le client vers le checkout SYLI\r\nconsole.log(invoice.invoice_url);\r\n```\r\n\r\nPaiement API (vous affichez l’adresse et le QR) :\r\n\r\n```js\r\nconst payment = await syli.createPayment({\r\n  price_amount: 20,\r\n  price_currency: \"usdt\",\r\n  pay_currency: \"usdttrc20\",\r\n  order_id: \"CMD-4821\",\r\n  order_description: \"Abonnement mensuel\",\r\n});\r\n\r\nconsole.log(payment.pay_address, payment.payin_extra_id);\r\nif (payment.payment_id) {\r\n  const latest = await syli.getPayment(payment.payment_id);\r\n}\r\nconst status = await syli.getInvoice(invoice.id);\r\n// status.payment_status, status.actually_paid, status.actually_paid_usd\r\n```\r\n\r\nUtilitaires :\r\n\r\n```js\r\nawait syli.getStatus();\r\nawait syli.getCurrencies(); // cryptos du compte (wallet validé, clé envoyée)\r\nawait syli.estimate({ amount: 20, currency_from: \"usdt\", currency_to: \"btc\" });\r\nawait syli.getMinAmount({ currency_from: \"usdt\", currency_to: \"btc\" });\r\n```\r\n\r\nCommonJS :\r\n\r\n```js\r\nconst { Syli } = require(\"syli-sdk\");\r\n```\r\n\r\n## Webhooks\r\n\r\nHeader `x-syli-sig` = HMAC-SHA512 de `JSON.stringify(payload, Object.keys(payload).sort())`.\r\nParsez le JSON, puis vérifiez — ne signez pas le body HTTP brut. Répondez **2xx**.\r\nLivrez si `payment_status === \"confirmed\"` (payin client). `payout_status` = versement wallet.\r\n\r\nExpress :\r\n\r\n```js\r\nimport express from \"express\";\r\nimport { Syli, SyliError } from \"syli-sdk\";\r\n\r\nconst syli = new Syli({ apiKey: process.env.SYLI_API_KEY });\r\nconst app = express();\r\napp.use(express.json());\r\n\r\napp.post(\"/webhooks/syli\", (req, res) => {\r\n  try {\r\n    const event = syli.constructEvent(\r\n      req.body,\r\n      req.headers[\"x-syli-sig\"],\r\n      process.env.SYLI_IPN_SECRET,\r\n    );\r\n    if (syli.isPaidStatus(event.payment_status)) {\r\n      // marquer la commande event.order_id comme payée\r\n    }\r\n    res.sendStatus(200);\r\n  } catch (err) {\r\n    const status = err instanceof SyliError ? err.status || 400 : 400;\r\n    res.sendStatus(status);\r\n  }\r\n});\r\n```\r\n\r\nHelpers autonomes :\r\n\r\n```js\r\nimport { verifySignature, constructEvent, isPaidStatus } from \"syli-sdk\";\r\n```\r\n\r\n## Publier sur npm\r\n\r\n```bash\r\nnpm install\r\nnpm run build\r\nnpm login\r\nnpm publish --access public\r\n```\r\n\r\n## Documentation API\r\n\r\nhttps://sylipayments.com/docs/api\r\n","readmeFilename":"README.md"}