diag.cjs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. require('dotenv').config();
  2. const { AlipaySdk } = require('alipay-sdk');
  3. const sdk = new AlipaySdk({
  4. appId: process.env.ALIPAY_APP_ID,
  5. privateKey: process.env.ALIPAY_PRIVATE_KEY,
  6. alipayPublicKey: process.env.ALIPAY_PUBLIC_KEY,
  7. signType: 'RSA2',
  8. });
  9. // 用 exec 直接调API(不走浏览器跳转),能看到服务器返回的原始错误
  10. async function test() {
  11. try {
  12. console.log('[1] 测试预下单 alipay.trade.precreate...\n');
  13. const r1 = await sdk.exec('alipay.trade.precreate', {
  14. bizContent: {
  15. out_trade_no: 'DIAG' + Date.now(),
  16. total_amount: '0.01',
  17. subject: '诊断测试',
  18. },
  19. });
  20. console.log('precreate 结果:', JSON.stringify(r1, null, 2).substring(0, 500));
  21. } catch(e) {
  22. console.log('precreate 错误:', e.message);
  23. }
  24. try {
  25. console.log('\n[2] 测试查询 alipay.trade.query...\n');
  26. const r2 = await sdk.exec('alipay.trade.query', {
  27. bizContent: {
  28. out_trade_no: 'DIAG' + Date.now(),
  29. },
  30. });
  31. console.log('query 结果:', JSON.stringify(r2, null, 2).substring(0, 500));
  32. } catch(e) {
  33. console.log('query 错误:', e.message);
  34. }
  35. // 测试 pageExec 用 GET 方式
  36. try {
  37. console.log('\n[3] 测试 pageExec GET...\n');
  38. const u = sdk.pageExec('alipay.trade.wap.pay', {
  39. bizContent: {
  40. out_trade_no: 'PGET' + Date.now(),
  41. total_amount: '0.01',
  42. subject: 'pageExec测试',
  43. product_code: 'QUICK_WAP_WAY',
  44. },
  45. returnUrl: 'https://book.rrbrr.com/#/pages/payment-result/index',
  46. notifyUrl: 'https://book.rrbrr.com/api/payment/alipay/notify',
  47. });
  48. console.log('pageExec 结果(前300):', String(u).substring(0, 300));
  49. } catch(e) {
  50. console.log('pageExec 错误:', e.message);
  51. }
  52. }
  53. test();