1. 介紹
目的:公司的支付寶小程式向指定用戶發送紅包,
場景:積分兌換、邀請注冊,
2. 開通權限
2.1 開通服務
說明:進入支付寶商家中心 → 營銷工具 → 營銷活動送紅包
備注:秘鑰選擇PKCS8,
入口:https://b.alipay.com/signing/productSetV2.htm

2.2 查看應用
說明:申請通過后,進入app管理界面可找到通過后的應用,
入口:https://openhome.alipay.com/platform/appManage.htm#/apps

2.3 設定秘鑰
說明:點擊應用串列的[查看詳情],進入應用資訊,設定加密方式,
備注:在這里我們將使用簽名演算法型別為'RSA2' 和 'PKCS8' ,(根據自身的SDK進行設定),
檔案:https://opendocs.alipay.com/open/200/105310#%E9%85%8D%E7%BD%AE%E5%BA%94%E7%94%A8%E7%8E%AF%E5%A2%83

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;
}
}
End 移動端開發文章導航 選單加載中...
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/224916.html
標籤:其他
