Appearance
pay — 支付模块
pay 模块提供了支付功能,支持多种支付提供商。
引入方式
javascript
var pay = require("pay")支持的提供商
wechat(微信支付)、alipay(支付宝)、stripe、paypal、unionpay(银联)、applepay、googlepay、qqpay、huawei、doudian、lakala
Builder 构建模式
javascript
var client = pay.Provider("alipay")
.Config({
AppID: "your-app-id",
PrivateKey: "your-private-key",
PublicKey: "alipay-public-key",
NotifyURL: "https://your-app.com/pay/notify"
})
.Build()API 列表
CreateOrder — 创建订单
javascript
var result = client.CreateOrder({
OrderNo: "ORD" + Date.now(),
Amount: 99.00,
Subject: "商品名称",
Description: "商品描述"
})QueryOrder — 查询订单
javascript
var orderInfo = client.QueryOrder("ORD1705285800000")Refund — 退款
javascript
var refundResult = client.Refund({
OrderNo: "ORD1705285800000",
RefundNo: "REF" + Date.now(),
Amount: 99.00,
Reason: "用户申请退款"
})CloseOrder — 关闭订单
javascript
client.CloseOrder("ORD1705285800000")VerifyNotify — 验证通知
javascript
var notifyResult = client.VerifyNotify(request.All())完整示例
javascript
var pay = require("pay")
// 创建支付宝客户端
var alipay = pay.Provider("alipay")
.Config({
AppID: env.Get("ALIPAY_APP_ID"),
PrivateKey: env.Get("ALIPAY_PRIVATE_KEY"),
PublicKey: env.Get("ALIPAY_PUBLIC_KEY"),
NotifyURL: "https://your-app.com/pay/alipay/notify"
})
.Build()
// 创建订单
var order = alipay.CreateOrder({
OrderNo: "ORD" + Date.now(),
Amount: 99.00,
Subject: "VIP 会员",
Description: "年度 VIP 会员"
})
response.Json({ payUrl: order.PayURL })
// 处理支付回调
if (request.Path() === "/pay/alipay/notify") {
var result = alipay.VerifyNotify(request.All())
if (result.Success) {
db.Exec("UPDATE orders SET status = 'paid' WHERE order_no = ?", result.OrderNo)
}
}