1. 程式人生 > 程式設計 >支付寶小程式向用戶發紅包的實現方法

支付寶小程式向用戶發紅包的實現方法

1. 介紹

目的:公司的支付寶小程式向指定使用者傳送紅包。

場景:積分兌換、邀請註冊。

2.開通許可權

2.1開通服務

說明:進入支付寶商家中心 → 營銷工具 → 營銷活動送紅包

備註:祕鑰選擇PKCS8。

入口:https://b.alipay.com/signing/productSetV2.htm

支付寶小程式向用戶發紅包的實現方法

2.2檢視應用

說明:申請通過後,進入app管理介面可找到通過後的應用。

入口:https://openhome.alipay.com/platform/appManage.htm

支付寶小程式向用戶發紅包的實現方法

2.3設定祕鑰

說明:點選應用列表的[檢視詳情]。進入應用資訊,設定加密方式。

備註:在這裡我們將使用簽名演算法型別為'RSA2' 和 'PKCS8' 。(根據自身的SDK進行設定)。

文件:https://opendocs.alipay.com/open/200/105310

支付寶小程式向用戶發紅包的實現方法

3.開發操作

建立並配置好應用後,就可以進行開發了,支付寶紅包傳送到使用者手上只需要兩步:

①建立現金(紅包)活動:比如建立100個1元紅包的活動。

②傳送紅包給使用者:根據活動id、使用者openId,將紅包傳送給使用者。

3.1建立現金活動

說明:要想把紅包發給使用者,首先得建立一個現金(紅包活動)。

文件:https://opendocs.alipay.com/apis/api_5/alipay.marketing.campaign.cash.create

示例:在這裡建立了每個2元金額的紅包活動,共20元、10個包。

支付寶小程式向用戶發紅包的實現方法

/**
 * 建立現金紅包
 * @param {AlipayCashHBEntity} en 實體物件
 * @see https://docs.open.alipay.com/api_5/alipay.marketing.campaign.cash.create
 */
async createCashHB(en) {
  let alipaySdk = this._getAlipaySdk();
  try {
    const rs = await alipaySdk.exec('alipay.marketing.campaign.cash.create',{
      bizContent: {
        couponName: en.couponName,prizeType: en.prizeType,totalMoney: en.totalMoney,totalNum: en.totalNum,prizeMsg: en.couponName,startTime: en.startTime,endTime: en.endTime,merchantLink: en.merchantLink,sendFreqency: `L${en.sendFreqency}`
      }
    });
    if (rs.code != '10000') {
      throw new Error(rs.subMsg);
    } else {
      return rs;
    }
  } catch (err) {
    throw err;
  }
}

3.2傳送紅包給使用者

說明:建立完紅包活動後,就可以把紅包傳送給使用者。

文件:https://opendocs.alipay.com/apis/api_5/alipay.marketing.campaign.cash.trigger

注意:傳送的紅包金額會轉入使用者的【餘額】裡。

/**
 * 傳送現金紅包
 * @param {String} crowdNo 紅包編號
 * @param {String} alipayUserOpenId 支付寶使用者openId
 * @param {String} productExchangeId 兌換記錄Id
 * @see https://docs.open.alipay.com/api_5/alipay.marketing.campaign.cash.trigger
 */
async sendCashHB(crowdNo,alipayUserOpenId,productExchangeId) {
  let alipaySdk = this._getAlipaySdk();
  try {
    const rs = await alipaySdk.exec('alipay.marketing.campaign.cash.trigger',{
      bizContent: {
        user_id: alipayUserOpenId,crowd_no: crowdNo,out_biz_no: productExchangeId
      }
    });
    if (rs.code != '10000') {
      throw new Error(rs.subMsg);
    } else {
      return rs;
    }
  } catch (err) {
    throw err;
  }
}

到此這篇關於支付寶小程式向用戶發紅包的實現方法的文章就介紹到這了,更多相關支付寶小程式發紅包內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!