| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- require('dotenv').config();
- const { AlipaySdk } = require('alipay-sdk');
- const sdk = new AlipaySdk({
- appId: process.env.ALIPAY_APP_ID,
- privateKey: process.env.ALIPAY_PRIVATE_KEY,
- alipayPublicKey: process.env.ALIPAY_PUBLIC_KEY,
- signType: 'RSA2',
- });
- // 用 exec 直接调API(不走浏览器跳转),能看到服务器返回的原始错误
- async function test() {
- try {
- console.log('[1] 测试预下单 alipay.trade.precreate...\n');
- const r1 = await sdk.exec('alipay.trade.precreate', {
- bizContent: {
- out_trade_no: 'DIAG' + Date.now(),
- total_amount: '0.01',
- subject: '诊断测试',
- },
- });
- console.log('precreate 结果:', JSON.stringify(r1, null, 2).substring(0, 500));
- } catch(e) {
- console.log('precreate 错误:', e.message);
- }
- try {
- console.log('\n[2] 测试查询 alipay.trade.query...\n');
- const r2 = await sdk.exec('alipay.trade.query', {
- bizContent: {
- out_trade_no: 'DIAG' + Date.now(),
- },
- });
- console.log('query 结果:', JSON.stringify(r2, null, 2).substring(0, 500));
- } catch(e) {
- console.log('query 错误:', e.message);
- }
- // 测试 pageExec 用 GET 方式
- try {
- console.log('\n[3] 测试 pageExec GET...\n');
- const u = sdk.pageExec('alipay.trade.wap.pay', {
- bizContent: {
- out_trade_no: 'PGET' + Date.now(),
- total_amount: '0.01',
- subject: 'pageExec测试',
- 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('pageExec 结果(前300):', String(u).substring(0, 300));
- } catch(e) {
- console.log('pageExec 错误:', e.message);
- }
- }
- test();
|