• <fieldset id="qg8cq"></fieldset>
  • <ul id="qg8cq"></ul>
  • <fieldset id="qg8cq"><menu id="qg8cq"></menu></fieldset>
  • <ul id="qg8cq"></ul>
    開(kāi)始制作

    小程序支付接入“微信/支付寶”教程!

    2025-09-04 10:15:00 來(lái)自于應(yīng)用公園

    對(duì)于許多小程序開(kāi)發(fā)者而言,“小程序支付接入”是實(shí)現(xiàn)商業(yè)閉環(huán)的關(guān)鍵一步。無(wú)論是電商、知識(shí)付費(fèi)還是服務(wù)預(yù)約,流暢的支付體驗(yàn)都能極大提升用戶滿意度。本文將為您提供一份清晰、全面的“小程序接入教程”,一步步引導(dǎo)您完成微信和支付寶支付的配置與開(kāi)發(fā)。

    第一部分:準(zhǔn)備工作(兩者通用)

    在開(kāi)始編碼之前,充分的準(zhǔn)備是成功的一半。以下是兩個(gè)平臺(tái)都需要的步驟:

    1.  完成企業(yè)資質(zhì)認(rèn)證:個(gè)人開(kāi)發(fā)者無(wú)法申請(qǐng)支付接口。您必須擁有已認(rèn)證的企業(yè)主體小程序。
    2.  開(kāi)通支付功能:
        微信:登錄微信公眾平臺(tái),在“功能”->“支付功能”中申請(qǐng)開(kāi)通微信支付商戶號(hào)。
        支付寶:登錄支付寶開(kāi)放平臺(tái),在“產(chǎn)品中心”申請(qǐng)開(kāi)通“App支付”或“小程序支付”。
    3.  獲取關(guān)鍵配置參數(shù):
        微信:獲取商戶號(hào)(MchID)、API密鑰(API Key)。
        支付寶:獲取應(yīng)用ID(APPID)、支付寶公鑰(AlipayPublicKey)、應(yīng)用私鑰(AppPrivateKey)。
    4.  配置密鑰和域名:在各自的管理后臺(tái),設(shè)置API密鑰(微信)或RSA2密鑰(支付寶),并將您的服務(wù)器IP地址添加到白名單中。同時(shí),配置請(qǐng)求授權(quán)的服務(wù)器域名。

    第二部分:微信小程序支付接入教程

    微信支付的流程可以簡(jiǎn)化為:小程序端發(fā)起請(qǐng)求 -> 商戶服務(wù)器統(tǒng)一下單 -> 返回支付參數(shù) -> 小程序端調(diào)起支付。

    核心步驟:

    1.  后端統(tǒng)一下單(API):
        小程序前端將商品信息、訂單號(hào)等發(fā)送至您的服務(wù)器。您的服務(wù)器調(diào)用微信支付提供的`統(tǒng)一下單API`,使用準(zhǔn)備好的`MchID`和`API Key`進(jìn)行簽名,請(qǐng)求生成預(yù)支付交易會(huì)話。
    // 偽代碼示例(Node.js)
    const unifiedOrder = async (orderParams) => {
      // 構(gòu)造參數(shù)、生成簽名
      const response = await request('https://api.mch.weixin.qq.com/pay/unifiedorder', orderParams);
      return response; // 包含 prepay_id 等關(guān)鍵參數(shù)
    }

    2.  前端調(diào)起支付:
        后端將獲取到的`prepay_id`及其他參數(shù)(如`nonceStr`, `timeStamp`, `paySign`)返回給小程序前端。前端調(diào)用`wx.requestPayment()`即可調(diào)起支付界面。
    // 小程序端代碼
    wx.requestPayment({
      timeStamp: '', // 時(shí)間戳
      nonceStr: '', // 隨機(jī)字符串
      package: `prepay_id=wx201410272009395522657a690389285100`, // 預(yù)支付交易會(huì)話標(biāo)識(shí)
      signType: 'RSA', // 簽名算法,現(xiàn)一般為RSA
      paySign: '', // 簽名
      success (res) { /* 支付成功 */ },
      fail (err) { /* 支付失敗 */ }
    })

    3.  處理支付結(jié)果通知:
        支付完成后,微信服務(wù)器會(huì)向您預(yù)先在后臺(tái)配置的“通知地址”發(fā)送異步通知(Notify),您需要在后端驗(yàn)證通知的有效性,并更新訂單狀態(tài)。

    第三部分:支付寶小程序支付接入教程

    支付寶的流程與微信類似,但在API調(diào)用和簽名方式上有所不同。

    核心步驟:

    1.  后端生成訂單信息(alipay.trade.create):
        小程序前端請(qǐng)求您的服務(wù)器創(chuàng)建訂單。您的服務(wù)器調(diào)用支付寶開(kāi)放平臺(tái)的接口(如`alipay.trade.create`),使用應(yīng)用私鑰簽名,請(qǐng)求生成支付訂單字符串。
    // 偽代碼示例(使用Alipay SDK)
    const AlipaySdk = require('alipay-sdk').default;
    const alipaySdk = new AlipaySdk({ appId, privateKey, alipayPublicKey });
    
    const result = await alipaySdk.exec('alipay.trade.create', {
      subject: '商品標(biāo)題',
      out_trade_no: '商戶訂單號(hào)',
      total_amount: '0.01',
    });

    2.  前端調(diào)起支付:
        后端將支付寶返回的復(fù)雜響應(yīng)(通常包含一個(gè)`tradeNo`或訂單字符串)處理后返回給前端。前端調(diào)用`my.tradePay()`方法調(diào)起支付。
    // 支付寶小程序端代碼
    my.tradePay({
      orderStr: '后端返回的訂單信息字符串', // 方式一:使用orderStr
      // tradeNo: '后端返回的交易號(hào)', // 方式二:使用tradeNo
      success (res) {
        if (res.resultCode === '9000') {
          // 支付成功
        }
      }
    });

    3.  處理異步通知:
        同樣,您需要在后端處理支付寶服務(wù)器發(fā)送的異步通知(Notify),驗(yàn)證簽名并更新訂單狀態(tài),確保數(shù)據(jù)一致性。

    第四部分:常見(jiàn)問(wèn)題與注意事項(xiàng)

    加密與安全:API密鑰和私鑰是最高機(jī)密,絕不能存放在前端。所有簽名操作都必須在您的服務(wù)器端完成。
    雙重驗(yàn)證:支付結(jié)果應(yīng)以服務(wù)器異步通知(Notify)為準(zhǔn),前端返回的成功狀態(tài)僅作界面展示參考。
    對(duì)賬:定期通過(guò)平臺(tái)提供的對(duì)賬單API進(jìn)行對(duì)賬,確保每一筆交易賬目清晰。
    審核:確保您的經(jīng)營(yíng)類目符合平臺(tái)規(guī)定,否則支付接口申請(qǐng)可能無(wú)法通過(guò)。

    總結(jié)

    完成“小程序支付接入”是一個(gè)需要細(xì)心和耐心的過(guò)程,涉及前端、后端與平臺(tái)后臺(tái)的三方協(xié)作。本“小程序接入教程”為您梳理了微信和支付寶支付的核心流程與關(guān)鍵代碼。希望這篇指南能幫助您高效地打通小程序的支付環(huán)節(jié),為您的用戶帶來(lái)安全、便捷的支付體驗(yàn)。
    粵公網(wǎng)安備 44030602002171號(hào)      粵ICP備15056436號(hào)-2

    在線咨詢

    立即咨詢

    售前咨詢熱線

    13590461663

    [關(guān)閉]
    應(yīng)用公園微信

    官方微信自助客服

    [關(guān)閉]