index.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /**
  2. * 微信支付 - 下单
  3. */
  4. const cloud = require('wx-server-sdk');
  5. cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV });
  6. // 云函数入口函数
  7. exports.main = async (event, context) => {
  8. const wxContext = cloud.getWXContext();
  9. // 商户自行生成商户订单号,此处仅为代码示例
  10. // const outTradeNo = Math.round(Math.random() * 10 ** 13) + Date.now();
  11. // 商户存储订单号到数据库,便于后续与微信侧订单号关联。例如使用云开发云存储能力:
  12. // db.collection('orders').add({ data: { outTradeNo } });
  13. const res = await cloud.callFunction({
  14. name: 'cloudbase_module',
  15. data: {
  16. name: 'wxpay_order',
  17. data: {
  18. // description: '<商品描述>',
  19. // amount: {
  20. // total: 1, // 订单金额
  21. // currency: 'CNY',
  22. // },
  23. // // 商户生成的订单号
  24. // out_trade_no: outTradeNo,
  25. // payer: {
  26. // // 服务端云函数中直接获取当前用户openId
  27. // openid: wxContext.OPENID,
  28. // },
  29. description: event.description,
  30. amount: event.amount,
  31. out_trade_no: event.out_trade_no,
  32. payer: {
  33. // 服务端云函数中直接获取当前用户openId
  34. // openid: wxContext.OPENID,
  35. openid: event.openid
  36. },
  37. },
  38. },
  39. });
  40. return res.result;
  41. };