require('dotenv').config(); const { AlipaySdk } = require('alipay-sdk'); const rawKey = process.env.ALIPAY_PRIVATE_KEY; const rawPub = process.env.ALIPAY_PUBLIC_KEY; // 使用 PKCS#8 正确包装 const privateKey = `-----BEGIN PRIVATE KEY-----\n${rawKey}\n-----END PRIVATE KEY-----`; const alipayPublicKey = rawPub.includes('BEGIN') ? rawPub : `-----BEGIN PUBLIC KEY-----\n${rawPub}\n-----END PUBLIC KEY-----`; const sdk = new AlipaySdk({ appId: '2021006154659461', privateKey, keyType: 'PKCS8', alipayPublicKey, gateway: 'https://openapi.alipay.com/gateway.do', signType: 'RSA2', }); // GET方式 - 全部参数在URL中 const url = sdk.pageExecute('alipay.trade.wap.pay', 'GET', { bizContent: { out_trade_no: 'D' + Date.now(), total_amount: '0.01', subject: 'Direct', product_code: 'QUICK_WAP_WAY', }, returnUrl: 'https://book.rrbrr.com/#/pages/payment-result/index', notifyUrl: 'https://book.rrbrr.com/api/payment/alipay/notify', }); console.log(String(url));