_test.cjs 1004 B

1234567891011121314151617181920212223242526272829303132
  1. require('dotenv').config();
  2. const { AlipaySdk } = require('alipay-sdk');
  3. const rawKey = process.env.ALIPAY_PRIVATE_KEY;
  4. const rawPub = process.env.ALIPAY_PUBLIC_KEY;
  5. // 使用 PKCS#8 正确包装
  6. const privateKey = `-----BEGIN PRIVATE KEY-----\n${rawKey}\n-----END PRIVATE KEY-----`;
  7. const alipayPublicKey = rawPub.includes('BEGIN') ? rawPub : `-----BEGIN PUBLIC KEY-----\n${rawPub}\n-----END PUBLIC KEY-----`;
  8. const sdk = new AlipaySdk({
  9. appId: '2021006154659461',
  10. privateKey,
  11. keyType: 'PKCS8',
  12. alipayPublicKey,
  13. gateway: 'https://openapi.alipay.com/gateway.do',
  14. signType: 'RSA2',
  15. });
  16. // GET方式 - 全部参数在URL中
  17. const url = sdk.pageExecute('alipay.trade.wap.pay', 'GET', {
  18. bizContent: {
  19. out_trade_no: 'D' + Date.now(),
  20. total_amount: '0.01',
  21. subject: 'Direct',
  22. product_code: 'QUICK_WAP_WAY',
  23. },
  24. returnUrl: 'https://book.rrbrr.com/#/pages/payment-result/index',
  25. notifyUrl: 'https://book.rrbrr.com/api/payment/alipay/notify',
  26. });
  27. console.log(String(url));