Skip to content

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)
    }
}

版权所有.