0.1.3 • Published 2 years ago
use-alipay v0.1.3
use-alipay
Unofficial Alipay SDK
Use Alipay
import {useAlipay} from "use-alipay";
import {readFileSync} from "fs";
const alipay = useAlipay({
appId: "your_app_id",
appPrivateKey: readFileSync("private_key.pem"),
// If encrypt is enabled
encryptKey: readFileSync("AES.txt"),
// If you are using public key certification
appPublicKey: readFileSync(path.join(alipayDir, "appCertPublicKey.crt")),
alipayPublicKey: readFileSync(path.join(alipayDir, "alipayCertPublicKey_RSA2.crt")),
alipayRootPublicKey: readFileSync(path.join(alipayDir, "alipayRootCert.crt")),
});
// Perform a trade query
const queryResponse = await alipay.request({
"out_trade_no": "xxx"
})
Expose RESTful Alipay API with Expressjs
With Expressjs, you can expose RESTful Alipay service easy.
import {useAlipay} from "./use-alipay";
const express = require("express");
const app = express();
app.use(express.json());
app.use(express.raw());
app.use(express.urlencoded());
const alipay = useAlipay({
appId: "your_app_id",
// more alipay configurations
}, {
expressApp: app,
alipayMountPoint: "/alipay",
unsafeMountPoint: "/unsafe/alipay"
});
app.listen(8080);
Now you can send a request via curl
$ curl -v -X POST -H "Content-Type: application/json" \
'http://localhost:8080/unsafe/alipay/submit/alipay.trade.query' \
-d '{"out_trade_no": "xxx"}'
RESTful Endpoints
- POST
/unsafe/alipay/submit/:method
Submit a request - POST
/unsafe/alipay/sign/:method
Sign a request - POST
/alipay/ack/:method
Receives asynchronous notify from Alipay - POST
/alipay/encrypt
Encrypt request body and response withbase64
encoded text - POST
/alipay/decrypt
Decrypt request body
0.1.3
2 years ago