Here is how to integrate your payment widget in RectJS / Vue JS
Install the Base Script
In public/index.html add the Blockonomics Payment Widget JS just before the end of <body> or just before the end of <head> to load the Blockonomics Payment Widget JS.
<script src="https://blockonomics.co/js/pay_widget.js"></script>
Example:
<html> <head> .... </head> <body> <div id="app_or_root"></div> ... <!-- Here's Blockonomics Payment Widget JS --> <script src="https://blockonomics.co/js/pay_widget.js"></script> </body> </html>
Get Payment Widget UID
While Creating the Payment Widget, you receive a Widget UID which you should note and will be used in the next steps.
Use in your Component
React
Example Code:
Replace ENTER_UID_HERE with the Payment Widget UID from above.
import { useState } from 'react'; function App() { const [email, setEmail] = useState(""); // This function calls the Blockonomics Payment Widget, // you can call it when you want to trigger Payment Widget function payWithBitcoin() { Blockonomics.widget({ msg_area: 'bitcoinpay', uid: 'ENTER_UID_HERE', email: email }) } function handleEmailInput(e) { setEmail(e.target.value) } return ( <div className="App"> <input type="email" id="email" placeholder="Email Address" onInput={handleEmailInput}/> <button id="pay" onClick={payWithBitcoin}>Pay with Bitcoin</button> <div id="bitcoinpay"></div> </div> ); } export default App;
If you're using ESLint, you'll encounter compiler errors because Blockonomics is not defined, you can silence the warning by adding the following just above the line Blockonomics.widget({
// eslint-disable-next-line no-undef
Vue
Example Code:
Replace ENTER_UID_HERE with the Payment Widget UID from above.
<template> <div> <input type="email" id="email" placeholder="Email Address" v-model="email" /> <button id="pay" @click.prevent="payWithBitcoin">Pay with Bitcoin</button> <div id="bitcoinpay"></div> </div> </template> <script> export default { data() { return { email: null } }, methods: { // This function calls the Blockonomics Payment Widget, // you can call it when you want to trigger Payment Widget payWithBitcoin() { Blockonomics.widget({ msg_area: 'bitcoinpay', uid: 'ENTER_UID_HERE', email: this.email }) } } } </script>
If you're using ESLint, you'll encounter compiler errors because Blockonomics is not defined, you can silence the warning by adding the following just above the line Blockonomics.widget({
// eslint-disable-next-line no-undef
That's all folks!