Back Slashはリファラルプログラムを実現するSlash Extensionです。
紹介者のWalletAddress
、報酬率
、キャッシュバック率
を設定することで、紹介者への報酬の支払いと紹介で購入者した人へのキャッシュバックが実現できます。
購入者にリファラルコードを入力してもらい、バックエンドでリファラルコードを検証することによって各種設定を切り替えることができます。
リファラルコードを使用しない場合や、キャッシュバックしない設定、紹介報酬なしの設定なども可能です。
Astar&Slashハッカソンで作成しました。
-> プロダクトページ
https://back-slash.vercel.app/
デモサイトでは以下の設定をしています。
コントラクトオーナー : 0xD214146C6E6051eeDF4de733Aa1d62F089D5928A
リファラルコード | 紹介報酬振り込みwallet | 報酬率 | 購入者へのキャッシュバック率 | 実行tx例 |
---|---|---|---|---|
なし | - | - | - | Link |
test1 | 0xdfe3DDBcB66cbC3a88816C0f876F76b2B60884fe |
1% | 2% | Link |
test2 | 0xDeBeA7Bf019285Cd3ddAd69A6aC1c6E5260d1083 |
3% | 0% | Link |
test3 | - | 0% | 5% | Link |
ネットワーク | コントラクトアドレス | エクスプローラー |
---|---|---|
Astar | 0x2233AE1e9835636843cc445cA2817c732874AaF3 |
Link |
①BackSlashをSlashExtensionに設定
②報酬アドレス、報酬率、キャッシュバック率をPaymentRequestAPIのext_reserved
に渡す
const extReserved = ethers.utils.AbiCoder.prototype.encode(
["address", "uint256", "uint256"],
[rewardAddress, rewardRate, cashBackRate]
);
// call Payment Request API
const requestObj = {
identification_token: authenticationToken,
order_code: orderCode,
verify_token: hashHex,
amount: amount,
amount_type: amountType,
ext_reserved: extReserved,
ext_description: referralCode ? `referral code: ${referralCode}` : "",
};
const paymentRequestUrl = process.env.SLASH_PAYMENT_REQUEST_URL ?? "";
const result = await axios
.post(paymentRequestUrl, requestObj)
.catch((error) => {
return error.response;
});