@1stpotofgold/node-sdk
v0.1.0
Published
1st Pot of Gold Node.js SDK
Readme
@1stpotofgold/node-sdk
1st Pot of Gold Node.js SDK。
安装
npm install @1stpotofgold/node-sdk要求 Node.js 18+。
初始化
import { PotOfGoldClient } from '@1stpotofgold/node-sdk';
const client = new PotOfGoldClient({
publicKey: 'your-public-key',
privateKey: 'your-private-key',
});SDK 内部固定请求 https://1stpotofgold.com/api,不需要额外配置网关地址。
创建订单
const order = await client.createOrder({
outTradeNo: 'ORDER_202604090001',
goodsTitle: '黄金会员月卡',
amount: '9.90',
});
console.log(order.serialNo);
console.log(order.payUrl);
console.log(order.amount);查询订单
const detail = await client.getOrderDetail('202604091234567890');
if (detail.status === 2000) {
console.log('订单已支付');
}getOrderDetail 会自动按最新接口规范生成 publicKey、timestamp 和 sign,并以 POST /Open/orderDetail 发起请求。
如果你需要拿到 SDK 实际发送的查单参数,也可以直接构造 payload:
const payload = client.buildOrderDetailPayload('202604091234567890');
console.log(payload);解析支付回调
import express from 'express';
import { PotOfGoldClient } from '@1stpotofgold/node-sdk';
const app = express();
app.use(express.json());
const client = new PotOfGoldClient({
publicKey: 'your-public-key',
privateKey: 'your-private-key',
});
app.post('/pay/callback', (req, res) => {
const callback = client.parsePaidCallback(req.body);
console.log(callback.serialNo);
console.log(callback.outTradeNo);
console.log(callback.amount);
res.json({
code: 1,
message: 'Success',
});
});直接使用工具函数
import {
buildSign,
decryptCallbackField,
encryptCallbackField,
} from '@1stpotofgold/node-sdk';
const sign = buildSign(
{
publicKey: 'your-public-key',
outTradeNo: 'ORDER_202604090001',
goodsTitle: '黄金会员月卡',
amount: '9.90',
timestamp: '1744185600000',
},
'your-private-key',
);
const plain = decryptCallbackField('encrypted-base64', 'your-private-key');
const encrypted = encryptCallbackField('ORDER_202604090001', 'your-private-key');