@upbond/upbond-embed
Version:
Embed script for Upbond
243 lines (238 loc) • 8.93 kB
text/typescript
import { EMBED_TRANSLATION_ITEM, IPaymentProvider, LocaleLinks, PAYMENT_PROVIDER, SUPPORTED_PAYMENT_NETWORK, WALLET_VERIFIERS } from "./interfaces";
import { supportedFiatCurrencies } from "./supportedCurrencies";
const paymentProviders = {
[PAYMENT_PROVIDER.MOONPAY]: {
line1: "Credit/ Debit Card/ Apple Pay",
line2: "4.5% or 5 USD",
line3: "2,000€/day, 10,000€/mo",
supportPage: "https://help.moonpay.io/en/",
minOrderValue: 24.99,
maxOrderValue: 50_000,
validCurrencies: supportedFiatCurrencies(PAYMENT_PROVIDER.MOONPAY),
validCryptoCurrenciesByChain: {
[SUPPORTED_PAYMENT_NETWORK.MAINNET]: [
{ value: "aave", display: "AAVE" },
{ value: "bat", display: "BAT" },
{ value: "dai", display: "DAI" },
{ value: "eth", display: "ETH" },
{ value: "mkr", display: "MKR" },
{ value: "matic", display: "MATIC" },
{ value: "usdt", display: "USDT" },
{ value: "usdc", display: "USDC" },
],
[SUPPORTED_PAYMENT_NETWORK.MATIC]: [
{ value: "eth_polygon", display: "ETH" },
{ value: "matic_polygon", display: "MATIC" },
{ value: "usdc_polygon", display: "USDC" },
],
[SUPPORTED_PAYMENT_NETWORK.BSC_MAINNET]: [
{ value: "bnb_bsc", display: "BNB" },
{ value: "busd_bsc", display: "BUSD" },
],
[SUPPORTED_PAYMENT_NETWORK.AVALANCHE_MAINNET]: [{ value: "avax_cchain", display: "AVAX" }],
},
includeFees: true,
api: true,
enforceMax: false,
} as IPaymentProvider,
[PAYMENT_PROVIDER.WYRE]: {
line1: "Apple Pay/ Debit/ Credit Card",
line2: "4.9% + 30¢ or 5 USD",
line3: "$250/day",
supportPage: "https://support.sendwyre.com/en/",
minOrderValue: 5,
maxOrderValue: 500,
validCurrencies: supportedFiatCurrencies(PAYMENT_PROVIDER.WYRE),
validCryptoCurrenciesByChain: {
[SUPPORTED_PAYMENT_NETWORK.MAINNET]: [
{ value: "AAVE", display: "AAVE" },
{ value: "BAT", display: "BAT" },
{ value: "BUSD", display: "BUSD" },
{ value: "DAI", display: "DAI" },
{ value: "ETH", display: "ETH" },
{ value: "MKR", display: "MKR" },
{ value: "UNI", display: "UNI" },
{ value: "USDC", display: "USDC" },
{ value: "USDT", display: "USDT" },
],
[SUPPORTED_PAYMENT_NETWORK.MATIC]: [{ value: "MUSDC", display: "USDC" }],
// AVAXC? or AVAX?
[SUPPORTED_PAYMENT_NETWORK.AVALANCHE_MAINNET]: [{ value: "AVAXC", display: "AVAXC" }],
},
includeFees: false,
api: true,
enforceMax: false,
} as IPaymentProvider,
[PAYMENT_PROVIDER.RAMPNETWORK]: {
line1: "Debit Card/ <br>Apple Pay/ Bank transfer",
line2: "0.49% - 2.9%",
line3: "5,000€/purchase, 20,000€/mo",
supportPage: "https://instant.ramp.network/",
minOrderValue: 50,
maxOrderValue: 20_000,
validCurrencies: supportedFiatCurrencies(PAYMENT_PROVIDER.RAMPNETWORK),
validCryptoCurrenciesByChain: {
[SUPPORTED_PAYMENT_NETWORK.MAINNET]: [
{ value: "ETH", display: "ETH" },
{ value: "DAI", display: "DAI" },
{ value: "USDC", display: "USDC" },
{ value: "USDT", display: "USDT" },
],
[SUPPORTED_PAYMENT_NETWORK.MATIC]: [
{ value: "MATIC_DAI", display: "DAI" },
{ value: "MATIC_MATIC", display: "MATIC" },
{ value: "MATIC_USDC", display: "USDC" },
],
// what about AVAXC?
[SUPPORTED_PAYMENT_NETWORK.AVALANCHE_MAINNET]: [{ value: "AVAX", display: "AVAX" }],
// Temporary unavailable
// [SUPPORTED_PAYMENT_NETWORK.XDAI]: [{ value: 'XDAI_XDAI', display: 'XDAI' }],
},
includeFees: true,
api: true,
receiveHint: "walletTopUp.receiveHintRamp",
enforceMax: false,
} as IPaymentProvider,
[PAYMENT_PROVIDER.XANPOOL]: {
line1: "PayNow/ InstaPay/ FPS/ GoJekPay/ UPI/ PromptPay/ <br>ViettelPay/ DuitNow",
line2: "2.5% buying, 3% selling",
line3: "$2,500 / day",
supportPage: "mailto:support@xanpool.com",
minOrderValue: 100,
maxOrderValue: 2500,
validCurrencies: supportedFiatCurrencies(PAYMENT_PROVIDER.XANPOOL),
validCryptoCurrenciesByChain: {
[SUPPORTED_PAYMENT_NETWORK.MAINNET]: [
{ value: "ETH", display: "ETH" },
{ value: "USDT", display: "USDT" },
],
},
includeFees: true,
api: true,
sell: true,
enforceMax: false,
} as IPaymentProvider,
[PAYMENT_PROVIDER.MERCURYO]: {
line1: "Credit/ Debit Card/ Apple Pay",
line2: "3.95% or 4 USD",
line3: "10,000€/day, 25,000€/mo",
supportPage: "mailto:support@mercuryo.io",
minOrderValue: 30,
maxOrderValue: 5000,
validCurrencies: supportedFiatCurrencies(PAYMENT_PROVIDER.MERCURYO),
validCryptoCurrenciesByChain: {
[SUPPORTED_PAYMENT_NETWORK.MAINNET]: [
{ value: "ETH", display: "ETH" },
{ value: "BAT", display: "BAT" },
{ value: "USDT", display: "USDT" },
{ value: "DAI", display: "DAI" },
],
[SUPPORTED_PAYMENT_NETWORK.BSC_MAINNET]: [
{ value: "BNB", display: "BNB" },
{ value: "BUSD", display: "BUSD" },
{ value: "1INCH", display: "1INCH" },
],
},
includeFees: true,
api: true,
enforceMax: false,
} as IPaymentProvider,
[PAYMENT_PROVIDER.TRANSAK]: {
line1: "Apple & Google Pay / Credit/Debit Card<br/>Bangkok Bank Mobile & iPay<br/>Bank Transfer (sepa/gbp) / SCB Mobile & Easy",
line2: "0.99% - 5.5% or 5 USD",
line3: "$5,000/day, $28,000/mo",
supportPage: "https://support.transak.com/hc/en-US",
minOrderValue: 30,
maxOrderValue: 500,
validCurrencies: supportedFiatCurrencies(PAYMENT_PROVIDER.TRANSAK),
validCryptoCurrenciesByChain: {
[SUPPORTED_PAYMENT_NETWORK.MAINNET]: [
{ value: "AAVE", display: "AAVE" },
{ value: "DAI", display: "DAI" },
{ value: "ETH", display: "ETH" },
{ value: "USDC", display: "USDC" },
{ value: "USDT", display: "USDT" },
],
[SUPPORTED_PAYMENT_NETWORK.MATIC]: [
{ value: "AAVE", display: "AAVE" },
{ value: "DAI", display: "DAI" },
{ value: "MATIC", display: "MATIC" },
{ value: "USDC", display: "USDC" },
{ value: "USDT", display: "USDT" },
{ value: "WETH", display: "WETH" },
],
[SUPPORTED_PAYMENT_NETWORK.BSC_MAINNET]: [
{ value: "BNB", display: "BNB" },
{ value: "BUSD", display: "BUSD" },
],
[SUPPORTED_PAYMENT_NETWORK.AVALANCHE_MAINNET]: [{ value: "AVAX", display: "AVAX" }],
},
includeFees: true,
enforceMax: true,
} as IPaymentProvider,
};
const translations = {
en: {
embed: {
continue: "Continue",
actionRequired: "Authorization required",
pendingAction: "Click continue to proceed with your request in a popup",
cookiesRequired: "Cookies Required",
enableCookies: "Please enable cookies in your browser preferences to access Upbond",
clickHere: "More Info",
},
},
de: {
embed: {
continue: "Fortsetzen",
actionRequired: "Autorisierung erforderlich",
pendingAction: "Klicken Sie in einem Popup auf Weiter, um mit Ihrer Anfrage fortzufahren",
cookiesRequired: "Cookies benötigt",
enableCookies: "Bitte aktivieren Sie Cookies in Ihren Browsereinstellungen, um auf Upbond zuzugreifen",
clickHere: "Mehr Info",
},
},
ja: {
embed: {
continue: "継続する",
actionRequired: "認証が必要です",
pendingAction: "続行をクリックして、ポップアップでリクエストを続行します",
cookiesRequired: "必要なクッキー",
enableCookies: "Upbondにアクセスするには、ブラウザの設定でCookieを有効にしてください。",
clickHere: "詳しくは",
},
},
ko: {
embed: {
continue: "계속하다",
actionRequired: "승인 필요",
pendingAction: "팝업에서 요청을 진행하려면 계속을 클릭하십시오.",
cookiesRequired: "쿠키 필요",
enableCookies: "브라우저 환경 설정에서 쿠키를 활성화하여 Upbond에 액세스하십시오.",
clickHere: "더 많은 정보",
},
},
zh: {
embed: {
continue: "继续",
actionRequired: "需要授权",
pendingAction: "单击继续以在弹出窗口中继续您的请求",
cookiesRequired: "必填Cookie",
enableCookies: "请在您的浏览器首选项中启用cookie以访问Torus。",
clickHere: "更多信息",
},
},
} as LocaleLinks<{ embed: EMBED_TRANSLATION_ITEM }>;
const DID_STREAM_NAME = {
RESULT: "did_listen_result",
REQUEST: "did_listen_request",
};
export default {
supportedVerifierList: Object.values(WALLET_VERIFIERS),
paymentProviders,
api: "https://api.tor.us",
translations,
prodTorusUrl: "",
localStorageKeyPrefix: `torus-`,
DID_STREAM_NAME,
};