pay.js 997 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /**
  2. *
  3. * @param {{id: String, totalPrice: Number}} order
  4. * @returns
  5. */
  6. export async function pay(order) {
  7. try {
  8. const res = await wx.cloud.callFunction({
  9. // 云函数名称
  10. name: 'shop_pay',
  11. data: {
  12. orderId: order.id
  13. },
  14. });
  15. const paymentData = res.result?.data;
  16. // 唤起微信支付组件,完成支付
  17. try {
  18. await wx.requestPayment({
  19. timeStamp: paymentData?.timeStamp,
  20. nonceStr: paymentData?.nonceStr,
  21. package: paymentData?.packageVal,
  22. paySign: paymentData?.paySign,
  23. signType: 'RSA', // 该参数为固定值
  24. });
  25. } catch (e) {
  26. return Promise.reject(e);
  27. }
  28. } catch (e) {
  29. return Promise.reject(e);
  30. }
  31. }
  32. export async function refund(orderId) {
  33. const res = await wx.cloud.callFunction({
  34. // 云函数名称
  35. name: 'shop_refund',
  36. data: {
  37. orderId,
  38. },
  39. });
  40. if (!res?.result?.data) {
  41. throw new Error("refund failed", res);
  42. }
  43. return res;
  44. }