All Projects → libitx → vue-money-button

libitx / vue-money-button

Licence: Apache-2.0 license
An unofficial Vue.js component for MoneyButton.

Programming Languages

Vue
7211 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to vue-money-button

vue-pattern-input
Use RegExp to limit input
Stars: ✭ 25 (+13.64%)
Mutual labels:  vue-component
vue-telegram-login
Vue component for Telegram login
Stars: ✭ 73 (+231.82%)
Mutual labels:  vue-component
vue-github-buttons
GitHub buttons component for Vue.
Stars: ✭ 36 (+63.64%)
Mutual labels:  vue-component
ts-bitcoin
TypeScript library for Bitcoin SV (BSV) 💸🔧
Stars: ✭ 21 (-4.55%)
Mutual labels:  bsv
vue-circle-choice
A circle color choice and navigation with Vue.js
Stars: ✭ 20 (-9.09%)
Mutual labels:  vue-component
vue-github-activity
A Vue based github feed activity component.
Stars: ✭ 28 (+27.27%)
Mutual labels:  vue-component
carrot-pool-stratum
Bitcoin Stratum Pool Plugin ⛏ 📦 🔌
Stars: ✭ 22 (+0%)
Mutual labels:  bsv
vue-g2
基于 Vue 和 AntV/G2 的可视化组件库 📈
Stars: ✭ 73 (+231.82%)
Mutual labels:  vue-component
vue-ele-import
超简单、好用的 element-ui Excel 导入组件
Stars: ✭ 50 (+127.27%)
Mutual labels:  vue-component
evian
www.balletcrypto.org/
Stars: ✭ 21 (-4.55%)
Mutual labels:  bsv
vue-odometer
Vue.js(v2.x+) component wrap for Odometer.js
Stars: ✭ 63 (+186.36%)
Mutual labels:  vue-component
vue-loading
Loading bar for Vue.js apps using axios
Stars: ✭ 19 (-13.64%)
Mutual labels:  vue-component
vue-tiny-pagination
A Vue component for create a tiny pagination with Flexbox
Stars: ✭ 20 (-9.09%)
Mutual labels:  vue-component
planter
[DEPRECATED] Create Metanet Nodes on Bitcoin SV
Stars: ✭ 24 (+9.09%)
Mutual labels:  bsv
vue-magnify
vue-magnify / vue放大镜组件
Stars: ✭ 14 (-36.36%)
Mutual labels:  vue-component
vue-drag-zone
Drag Zone component for @vuejs
Stars: ✭ 127 (+477.27%)
Mutual labels:  vue-component
layui-vue
layui - vue(谐音:类 UI) 是 一 套 Vue 3.0 的 桌 面 端 组 件 库
Stars: ✭ 112 (+409.09%)
Mutual labels:  vue-component
vue-next-level-scroll
Bring your scroll game to the next level!
Stars: ✭ 49 (+122.73%)
Mutual labels:  vue-component
vue-music
基于Laravel5.3+Vue2.0的网易云音乐的SPA应用
Stars: ✭ 85 (+286.36%)
Mutual labels:  vue-component
vue-dictaphone
🎙️ Vue.js dictaphone component to record audio from the user
Stars: ✭ 22 (+0%)
Mutual labels:  vue-component

vue-money-button

vue-money-button

npm License

A Vue.js component that lets you integrate Money Button into your app or web page. Developed independently, but closely mirrors the conventions established in the offical React component.

Upgrading from a previous version?

🚨 Breaking change 🚨

Since version 1.0.0 the default export of the package is now a Vue plugin. When installed, the plugin does two things:

  • Adds the Money Button component to Vue globally
  • Attaches a $getMoneyButton() function to all your Vue instances. This async function returns the moneyButton object and provides access to the Invisible Money Button API.

Prior to version 1.0.0, the default export was a Vue component for use directly in your own components. If you don't want to add the Money Button component globally, and you don't need Invisible Money Button, you can still require the component as needed, using the named export. See examples below.

Installation

Install with npm or yarn:

yarn add vue-money-button

Install the plugin in your Vue app's entrypoint:

import Vue from 'vue'
import VueMoneyButton from 'vue-money-button'

Vue.use(VueMoneyButton)

The above step is recommended but optional. It adds the component to Vue globally, and also attaches $getMoneyButton() to all your Vue instances. Alternatively you can skip the above step, and add Money Button to your components where required (although you don't get access to IMB this way).

<script>
import { MoneyButton } from 'vue-money-button'

export default {
  components: {
    MoneyButton
  }
}
</script>

Usage

Using the Money Button component:

<template>
  <div>
    <MoneyButton
      to="YOUR BITCOIN ADDRESS"
      amount="0.5"
      currency="USD"
      label="Send some loot"
      @payment="handlePayment"
    />
  </div>
</template>

<script>
export default {
  methods: {
    handlePayment(payment) {
      // handle payment
    }
  }
}
</script>

Using Invisible Money Button:

<template>
  <div>
    <a @click="likePost">Like!</a>
  </div>
</template>

<script>
export default {
  methods: {
    async likePost() {
      const { IMB } = await this.$getMoneyButton()
      const button = IMB(imgConfig)

      button.swipe(likeParams)
    }
  }
}
</script>

Properties

The following properties can be set on the component:

Prop Type Default
to String or Number null
amount String or Number null
currency String 'USD'
label String null
successMessage String null
opReturn String null
outputs Array []
cryptoOperations Array null
clientIdentifier String null
buttonId String or Number null
buttonData String null
type String - buy or tip 'buy'
editable Boolean false
disabled Boolean false
devMode Boolean false
preserveOrder Boolean false

An array of outputs can be set instead of the to, amount and currency properties. Each output object has the following parameters:

Name Type Required
to String
address String
userId String or Number
script String
amount String ✔️
currency String ✔️

Events

The component emits the following events:

Event
load Triggered on load
payment Triggered on a successful payment
error Triggered on a payment error
cryptoOperations Callback returning the cryptoOperations object

License

vue-money-button is open source and released under the Apache-2 License.

Copyright (c) 2018-2021 libitx.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].