目錄
- 1. 介紹
- 2.開通權(quán)限
- 2.1開通服務(wù)
- 2.2查看應(yīng)用
- 2.3設(shè)置秘鑰
- 3.開發(fā)操作
- 3.1創(chuàng)建現(xiàn)金活動(dòng)
- 3.2發(fā)送紅包給用戶
1. 介紹
目的:公司的支付寶小程序向指定用戶發(fā)送紅包。
場景:積分兌換、邀請注冊。
2.開通權(quán)限
2.1開通服務(wù)
說明:進(jìn)入支付寶商家中心 → 營銷工具 → 營銷活動(dòng)送紅包
備注:秘鑰選擇PKCS8。
入口:https://b.alipay.com/signing/productSetV2.htm
2.2查看應(yīng)用
說明:申請通過后,進(jìn)入app管理界面可找到通過后的應(yīng)用。
入口:https://openhome.alipay.com/platform/appManage.htm
2.3設(shè)置秘鑰
說明:點(diǎn)擊應(yīng)用列表的[查看詳情]。進(jìn)入應(yīng)用信息,設(shè)置加密方式。
備注:在這里我們將使用簽名算法類型為'RSA2' 和 'PKCS8' 。(根據(jù)自身的SDK進(jìn)行設(shè)置)。
文檔:https://opendocs.alipay.com/open/200/105310
3.開發(fā)操作
創(chuàng)建并配置好應(yīng)用后,就可以進(jìn)行開發(fā)了,支付寶紅包發(fā)送到用戶手上只需要兩步:
①創(chuàng)建現(xiàn)金(紅包)活動(dòng):比如創(chuàng)建100個(gè)1元紅包的活動(dòng)。
②發(fā)送紅包給用戶:根據(jù)活動(dòng)id、用戶openId,將紅包發(fā)送給用戶。
3.1創(chuàng)建現(xiàn)金活動(dòng)
說明:要想把紅包發(fā)給用戶,首先得創(chuàng)建一個(gè)現(xiàn)金(紅包活動(dòng))。
文檔:https://opendocs.alipay.com/apis/api_5/alipay.marketing.campaign.cash.create
示例:在這里創(chuàng)建了每個(gè)2元金額的紅包活動(dòng),共20元、10個(gè)包。
/**
* 創(chuàng)建現(xiàn)金紅包
* @param {AlipayCashHBEntity} en 實(shí)體對象
* @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發(fā)送紅包給用戶
說明:創(chuàng)建完紅包活動(dòng)后,就可以把紅包發(fā)送給用戶。
文檔:https://opendocs.alipay.com/apis/api_5/alipay.marketing.campaign.cash.trigger
注意:發(fā)送的紅包金額會(huì)轉(zhuǎn)入用戶的【余額】里。
/**
* 發(fā)送現(xiàn)金紅包
* @param {String} crowdNo 紅包編號(hào)
* @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;
}
}
到此這篇關(guān)于支付寶小程序向用戶發(fā)紅包的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)支付寶小程序發(fā)紅包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 微信小程序?qū)崿F(xiàn)發(fā)紅包功能
- AccessibilityService實(shí)現(xiàn)微信發(fā)紅包功能