# 支付

  1. 点击开通支付宝js支付 (opens new window)

  2. 开发文档 (opens new window)

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

效果浏览 alt text

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