Skip to content

yusakapon/slash-payment-hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 

Repository files navigation

Back Slash

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;
  });