{"_id":"@1stpotofgold/node-sdk","name":"@1stpotofgold/node-sdk","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@1stpotofgold/node-sdk","version":"0.1.0","description":"1st Pot of Gold Node.js SDK","type":"commonjs","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"devDependencies":{"@types/node":"^24.10.1","typescript":"^5.9.3"},"engines":{"node":">=18"},"keywords":["payment","sdk","order","alipay"],"license":"MIT","_id":"@1stpotofgold/node-sdk@0.1.0","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-bgzasPL7IxOzio7rj7FmRLNsT1Mb0whJolbqZ/kWOr8vDNs7rkDsRjJqMu1OXZYN4zNGY6HhajOAfAbX8a+Aag==","shasum":"71e82fb1e6dd847a7cc5b2083070fec345f17124","tarball":"https://registry.npmjs.org/@1stpotofgold/node-sdk/-/node-sdk-0.1.0.tgz","fileCount":4,"unpackedSize":13806,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEBrI9mtdON8l6RKmK3lrXE+DFnP0LZP/SzmrF3KwT3zAiEAkdyoH35uYlbn2WdXiW5S0MlhmzhEmKVIZp0X3V+v0NA="}]},"_npmUser":{"name":"1stpotofgold","email":"1668180138@qq.com"},"directories":{},"maintainers":[{"name":"1stpotofgold","email":"1668180138@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/node-sdk_0.1.0_1775753602999_0.028668787414283914"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-09T16:53:22.896Z","0.1.0":"2026-04-09T16:53:23.142Z","modified":"2026-04-09T16:53:23.370Z"},"maintainers":[{"name":"1stpotofgold","email":"1668180138@qq.com"}],"description":"1st Pot of Gold Node.js SDK","keywords":["payment","sdk","order","alipay"],"license":"MIT","readme":"# @1stpotofgold/node-sdk\n\n1st Pot of Gold Node.js SDK。\n\n## 安装\n\n```bash\nnpm install @1stpotofgold/node-sdk\n```\n\n要求 Node.js 18+。\n\n## 初始化\n\n```ts\nimport { PotOfGoldClient } from '@1stpotofgold/node-sdk';\n\nconst client = new PotOfGoldClient({\n  publicKey: 'your-public-key',\n  privateKey: 'your-private-key',\n});\n```\n\nSDK 内部固定请求 `https://1stpotofgold.com/api`，不需要额外配置网关地址。\n\n## 创建订单\n\n```ts\nconst order = await client.createOrder({\n  outTradeNo: 'ORDER_202604090001',\n  goodsTitle: '黄金会员月卡',\n  amount: '9.90',\n});\n\nconsole.log(order.serialNo);\nconsole.log(order.payUrl);\nconsole.log(order.amount);\n```\n\n## 查询订单\n\n```ts\nconst detail = await client.getOrderDetail('202604091234567890');\n\nif (detail.status === 2000) {\n  console.log('订单已支付');\n}\n```\n\n`getOrderDetail` 会自动按最新接口规范生成 `publicKey`、`timestamp` 和 `sign`，并以 `POST /Open/orderDetail` 发起请求。\n\n如果你需要拿到 SDK 实际发送的查单参数，也可以直接构造 payload：\n\n```ts\nconst payload = client.buildOrderDetailPayload('202604091234567890');\n\nconsole.log(payload);\n```\n\n## 解析支付回调\n\n```ts\nimport express from 'express';\nimport { PotOfGoldClient } from '@1stpotofgold/node-sdk';\n\nconst app = express();\napp.use(express.json());\n\nconst client = new PotOfGoldClient({\n  publicKey: 'your-public-key',\n  privateKey: 'your-private-key',\n});\n\napp.post('/pay/callback', (req, res) => {\n  const callback = client.parsePaidCallback(req.body);\n\n  console.log(callback.serialNo);\n  console.log(callback.outTradeNo);\n  console.log(callback.amount);\n\n  res.json({\n    code: 1,\n    message: 'Success',\n  });\n});\n```\n\n## 直接使用工具函数\n\n```ts\nimport {\n  buildSign,\n  decryptCallbackField,\n  encryptCallbackField,\n} from '@1stpotofgold/node-sdk';\n\nconst sign = buildSign(\n  {\n    publicKey: 'your-public-key',\n    outTradeNo: 'ORDER_202604090001',\n    goodsTitle: '黄金会员月卡',\n    amount: '9.90',\n    timestamp: '1744185600000',\n  },\n  'your-private-key',\n);\n\nconst plain = decryptCallbackField('encrypted-base64', 'your-private-key');\nconst encrypted = encryptCallbackField('ORDER_202604090001', 'your-private-key');\n```\n","readmeFilename":"README.md","_rev":"1-8ca1274da0de6390fe311e5aa240e94f"}