# 支付
sdk 版本 "alipay-sdk": "^4.10.0"
# js 手机端网站支付 与退款
// 初始化
const alipaySdk = new AlipaySdk.AlipaySdk({
appId:appId,
privateKey: privateKey,
alipayPublicKey: alipayPublicKey,
signType: 'RSA2',
gateway: 'https://openapi.alipay.com/gateway.do',
});
async indexAction() {
const out_trade_no = "zfb" + Date.now().toString(); //订单编号
const bizContent = {
out_trade_no: out_trade_no, // 商户唯一订单号
total_amount: this.get("amount"), // 支付金额,单位为元
subject: this.get("description"), // 订单标题
product_code: 'FAST_INSTANT_TRADE_PAY', // 销售产品码
body: "234",
};
const urresultl = alipaySdk.pageExecute('alipay.trade.wap.pay', 'GET', {
bizContent,
returnUrl: 'https://jyc2025.cn/#/pages/sp/zhbzf?opt='+jdfds //支付成功的返回的地址
});
}
//退款
async tuikuanAction(){
let obj = this.post()
const result =await alipaySdk.exec('alipay.trade.refund',{
bizContent: {
outTradeNo:obj.out_refund_no,//订单标号
refundAmount:obj.jiner,//退款金额
}
})
this.success(result)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
效果浏览
nodejs demo
// 这个在最外面申明公共方法即可
const alipaySdk = new AlipaySdk.AlipaySdk({
appId,
privateKey,
alipayPublicKey,
});
// 结束
const obj = this.post()
const result = await alipaySdk.exec("alipay.trade.create", {
bizContent: {
out_trade_no: 'my' + this.randomString(50),
total_amount: obj.xianjia,
subject: obj.title,
product_code: "JSAPI_PAY",
op_app_id: appId,
buyer_open_id: this.openid,
op_buyer_open_id: this.openid
},
});
this.success(result)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
周期扣款 →