애플 릿 은 애플 릿 클 라 우 드 를 통 해 위 챗 결제 기능 인 스 턴 스 를 실현 합 니 다.

1.위 챗 결제 개통
 1.1 관련 상점 번호\ \ \ \ \ 在这里插入图片描述
1.2 상호 추가\ \ \ \ \ 在这里插入图片描述
1.3 관리자 권한 부여
1.2 그 그림 에서 권한 수 여 를 클릭 합 니 다.관리자 의 위 챗 에서 알림 이 튀 어 나 와 인증 확인 을 누 르 면 됩 니 다.
그렇지 않 으 면 사용 할 때sub_mch_id sub_appid 의 오류 가 발생 합 니 다!
2.구름 함수 개발
2.1 새 클 라 우 드 함수
在这里插入图片描述
在这里插入图片描述
2.2 클 라 우 드 함수 코드\pay\index.js

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" : event.body,
    "outTradeNo" : event.outTradeNo,
    "spbillCreateIp" : "127.0.0.1",
    "subMchId" : "0000000000",               //     :  key    id,         id
    "totalFee" : parseInt(event.totalFee),   //    :       ,      ,    unifiedOrder:fail wx api error: -202
    "envId": "ooo-xxxxxxxxxxxxxxxx",                //              id
    "functionName": "payCallBack",        //        
    "nonceStr":event.nonceStr,            //    :              nonceStr tradeType,       nonceStr     ,             ,                 
    "tradeType":"JSAPI"
  })
  return res
}
2.3 클 라 우 드 함수 업로드 및 배치
在这里插入图片描述
在这里插入图片描述
3.애플 릿 호출
3.1 통일 주문
  • 위 챗 에서 주문 한 후에 얻 은 데 이 터 는 먼저 데이터 베이스 에 저장 하고 남 겨 두 는 것 이 좋 습 니 다
  • 다시 위 챗 결제 인터페이스 로 이동
  • 
    //     ,      
      cloudPay(){
        var _this = this
        this.setData({
          body: "    -xxxxx",
          outTradeNo: this.data.id+"-"+util.uuid(16),
          totalFee: this.data.totalCost*100 //    : 
        })
        app.showLoading(true)
        wx.cloud.callFunction({
          name: "pay",
          data: {
            body: _this.data.body,
            outTradeNo: _this.data.outTradeNo,
            totalFee: _this.data.totalFee,
            nonceStr:util.uuid(32)//     uuid  
          },
          success(res) {
            // errCode: 0
            // errMsg: "cloudPay.unifiedOrder:ok"
            // returnCode: "FAIL"
            // returnMsg: "total_fee is empty. "
            console.log("    ", res.result)
            if(res.result.returnCode!="SUCCESS"){
              app.showToast(res.result.returnMsg)
              return
            }
            _this.unifiedOrder(res.result)
            // _this.requestPayment(res.result)
          },
          fail(res) {
            console.log("    ", res)
          }
        })
      },
    
    3.2 위 챗 결제 인터페이스 조정
    
      //         ,      
      requestPayment(payData) {
        var _this = this;
        const payment = payData.payment//    ,      result             ,        
        wx.requestPayment({
          ...payment,   //...         
          success(res) {
            console.log("    ", res)
            _this.paySuccess()
          },
          fail(res) {
            console.log("    ", res)
          }
        })
      },
    
    3.2 지불 성공 리 셋
  • requestPayment 의 success 리 셋 함수 에서 결제 성공 을 직접 수행 하 는 것 을 권장 하지 않 습 니 다
  • 클 라 우 드 함수 payCallBack
  • 이 클 라 우 드 함수 paycallBack,자체 서버 인 터 페 이 스 를 호출 하여 결제 성공 적 인 작업 을 수행 합 니 다
  • 여 기 는 클 라 우 드 함수 에서 http 인 터 페 이 스 를 어떻게 호출 하 는 지,판매 관문,후속 강
  • 애플 릿 이 애플 릿 클 라 우 드 를 통 해 위 챗 결제 기능 을 실현 하 는 인 스 턴 스 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 애플 릿 위 챗 결제 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기