欧美午夜精品久久久久免费视/欧美黄色精品/国产一级A片在线播出/A片免费视频在线观看

微信小程序云開(kāi)發(fā)微信支付功能的前提假設(shè)一切條件
2023-11-25 11:01:30 歡樂(lè)點(diǎn)

微信小程序云開(kāi)發(fā)微信支付

使用云開(kāi)發(fā)微信支付功能的前提

假定一切條件早已布置好,我們正是步入開(kāi)發(fā)者工具操作

統(tǒng)一下單

此功能在小程序文檔中有較為仔細(xì)的說(shuō)明,甚至官方也貼上了代碼,那我也不多說(shuō),先創(chuàng)建云函數(shù),并起名為pay

// 云函數(shù)代碼
const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
  const res = await cloud.cloudPay.unifiedOrder({
    "body" : "吃鍵盤(pán)的俠客",//商品名稱(chēng)貨商品描述
    "outTradeNo" : "1217752501201407033233368018",//訂單號(hào)-唯一性
    "spbillCreateIp" : "127.0.0.1",//回調(diào)IP地址,如果沒(méi)有就這樣隨意放
    "subMchId" : "1900009231",//微信支付商戶號(hào)
    "totalFee" : 1,//支付金額 單位分
    "envId": "test-f0b102",//云開(kāi)發(fā)環(huán)境
    "functionName": "pay_cb"//回調(diào)云函數(shù)--沒(méi)有可以亂填
  })
  return res
}

接著為頁(yè)面編撰一個(gè)按鍵我就一次寫(xiě)了三個(gè)按鍵:統(tǒng)一支付、訂單查詢、申請(qǐng)退票

小程序端代碼

  /**
   * 頁(yè)面的初始數(shù)據(jù)
   */
  data: {
    timeStamp: "",//存放支付單號(hào)
    tk:"" //存放退款單號(hào)
  },
 //支付
  paygo() {
    var timeStamp = "1999" + new Date().getTime()
    //這里使用時(shí)間戳精確到毫秒的方式保證單號(hào)的唯一性,前面的1999也是為了保證唯一性的確保 
    console.log(timeStamp)
    this.setData({
      timeStamp: timeStamp
    })
    wx.cloud.callFunction({
      name: 'pay',//函數(shù)名
      data: {
        orderid: timeStamp,//傳遞單號(hào)
      },
      success: res => {
        console.log("獲取支付參數(shù)成功", res)
        const payment = res.result.payment
        //調(diào)起支付
        wx.requestPayment({
          ...payment,
          success(res) {
            console.log('支付成功', res)
          },
          fail(res) {
            console.error('支付失敗', res)
          }
        
        })
       
      },
      fail: res => {
        console.log("獲取支付參數(shù)失敗", res)
      },
    })
   
  },

療效圖:

這就是一個(gè)坑,所以我們須要特殊加一個(gè)查詢訂單處理

查詢訂單

先創(chuàng)建云函數(shù),并起名為

代碼十分少

// 云函數(shù)代碼
const cloud = require('wx-server-sdk')
cloud.init({
  env: 'yuelnn-corporation-vu94n'
})
exports.main = async (event, context) => {
  const res = await cloud.cloudPay.queryOrder({
    "out_trade_no" :event.trade,//商戶訂單號(hào)
    "nonce_str" : "" +new Date().getTime(),//隨機(jī)字符串,這里也是采用時(shí)間戳精確到毫秒,人家要我們傳隨機(jī)字符串,我們就這么給他一個(gè)吧
    "sub_mch_id" : "1562576291",//子商戶號(hào),也就是商戶號(hào)啦,沒(méi)區(qū)別的
  })
  return res
}

小程序端:

//訂單查詢
  queryOrder() {
    wx.cloud.callFunction({
      name: 'queryOrder',
      data: {
        trade: this.data.timeStamp//訂單號(hào),就是剛才支付的時(shí)候我們自己生成的訂單號(hào),注意聯(lián)系上下文理解
      },
      success: res => {
        console.log("獲取查詢參數(shù)成功", res)
      },
      fail: res => {
        console.log("獲取查詢參數(shù)失敗", res)
      },
    })
  },

療效圖:

如須要曉得更多數(shù)組所表示的意思請(qǐng)移步官方文檔,我猜大家也用不到

申請(qǐng)退票

在貼代碼前,我再指出一次,申請(qǐng)退票必須在控制嘉義的設(shè)置,全局變量里獲得了退貨API權(quán)限

如何做我在文中都有說(shuō)到,over

假定你已然授權(quán)了,那我們開(kāi)始吧

先創(chuàng)建云函數(shù),并起名為

這兒出現(xiàn)了一個(gè)新的數(shù)組,俺們不看文檔了,直接聽(tīng)我的解釋?zhuān)褪歉Ц兜臅r(shí)侯一樣生成一個(gè)惟一的單號(hào)(都是俺們自己生成的,我都是采用時(shí)間戳來(lái)保證惟一),這兒的就是退貨單號(hào),這個(gè)()退貨單號(hào)對(duì)應(yīng)你所申請(qǐng)退票時(shí)侯的一個(gè)金額,假定我的數(shù)值

“”:“”,//商戶退貨單號(hào)惟一的

“”:,//商戶訂單號(hào),剛剛支付時(shí)侯的對(duì)應(yīng)那筆單號(hào)

“”:“”+newDate().(),//隨機(jī)字符串

“”:“”,//子商戶號(hào)

“”:100,//訂單金額

“”:50,//申請(qǐng)退票金額

從上數(shù)值可以發(fā)覺(jué),我申請(qǐng)退票的金額可以大于所支付的總金額,也就彰顯了分批退貨的可行性

這么那次退貨單號(hào)就代表了當(dāng)退貨的信息ID,可以通過(guò)查詢訂單查詢到退貨信息。額…可能我講的也不乍地,那你們還是lookalook文檔吧

貼代碼:

// 云函數(shù)代碼
//申請(qǐng)退款
const cloud = require('wx-server-sdk')
cloud.init({
  env: 'yuelnn-corporation-vu94n'
})
exports.main = async (event, context) => {
  const res = await cloud.cloudPay.refund({
    "out_refund_no" : event.refund,//商戶退款單號(hào)
    "out_trade_no" : event.trade,//商戶訂單號(hào)
    "nonce_str" : ""+new Date().getTime(),//隨機(jī)字符串
    "sub_mch_id" : "1562576291",//子商戶號(hào)
    "total_fee" : 1,//訂單金額
    "refund_fee":  1,//申請(qǐng)退款金額	
  })
  return res
}

小程序端:

//退款
  refund() {
    var tk = "T1999" + new Date().getTime()
    this.setData({
      tk:tk
    })
    console.log("退款單號(hào)",tk)
    wx.cloud.callFunction({
      name: 'refund',
      data: {
        refund: tk ,//商戶退款單號(hào)
        trade: this.data.timeStamp,//商戶訂單號(hào)
      },
      success: res => {
        console.log("獲取退款參數(shù)成功", res)
      },
      fail: res => {
        console.log("獲取退款參數(shù)失敗", res)
      },
    })
  },

療效圖:

馬上退貨到賬的微信下單系統(tǒng)微信下單系統(tǒng),十分快。

常見(jiàn)問(wèn)題總結(jié):沒(méi)有填寫(xiě)正確商戶號(hào)數(shù)組的和int弄錯(cuò),會(huì)報(bào)參數(shù)格式錯(cuò)誤退貨API沒(méi)授權(quán)也去搞云開(kāi)發(fā)退貨、長(zhǎng)得沒(méi)我好看不會(huì)還不加我微信的:

免責(zé)聲明:部分文章信息來(lái)源于網(wǎng)絡(luò)以及網(wǎng)友投稿,本站只負(fù)責(zé)對(duì)文章進(jìn)行整理、排版、編輯,出于傳遞更多信息之目的,并不意味著贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,如本站文章和轉(zhuǎn)稿涉及版權(quán)等問(wèn)題,請(qǐng)作者在及時(shí)聯(lián)系本站,我們會(huì)盡快為您處理。

歡樂(lè)點(diǎn)

留言咨詢

×