This Spotflow Vue.js library wraps around the inline library, which enables users to make payments seamlessly. It integrates smoothly into your Vue.js application, providing a streamlined checkout experience.
Available Features:
- Collections: Card, Bank Transfers, USSD
- Recurring payments: Tokenization and Subscriptions.
- Spoflow API key
- Spotflow Encryption key
- Node versions >= 16.x.x npm >=7.x.x
To install the library, you can use either Yarn, NPM or PNPM. Choose the one that fits your project setup:
yarn add @spot-flow/vue-spotflow-checkout
npm install @spot-flow/vue-spotflow-checkout
This library can be implemented using the following
- By Using Composable (Recommended)
- By SpotflowButton Component
The composable approach gives you full control and flexibility.
in payment-component.vue
<script setup>
import { useSpotflowPayment } from '@spot-flow/vue-spotflow-checkout'
const loadSpotflow = useSpotflowPayment()
const handlePayment = async () => {
const config = {
amount: 4000, // Not required for subscription payment
currency: "NGN",
email: "[email protected]", // Email of customer
name: "John", // Name of customer: Not required
phoneNumber: "09090909090", // Phone number of customer: Not required
reference: "MC-123456", // Not required, a unique payment reference will be generated if not provided
merchantKey: "sk_test_fXXXXedhXXXXXXXXXXXXXXXX",
planId: "9e0808304-344d-XXXXXXXXX-XXXXX834034", // Not required for a one time payment
encryptionKey:"SKKXXXXXXXXXXXXXXXXX"
}
await loadSpotflow(config)
}
</script>
<template>
<div>
<button @click="handlePayment">
Make Payment
</button>
</div>
</template>
in payment-component.vue
<script setup lang="ts">
import { SpotflowButton } from "@spot-flow/vue-spotflow-checkout";
import { defineComponent, ref } from "vue";
const config = {
amount: 4000, // Not required for subscription payment
currency: "NGN",
email: "[email protected]", // Email of customer
name: "John", // Name of customer: Not required
phoneNumber: "09090909090", // Phone number of customer: Not required
reference: "MC-123456", // Not required, a unique payment reference will be generated if not provided
merchantKey: "sk_test_fXXXXedhXXXXXXXXXXXXXXXX",
planId: "9e0808304-344d-XXXXXXXXX-XXXXX834034", // Not required for a one time payment
encryptionKey:"SKKXXXXXXXXXXXXXXXXX"
};
</script>
<template>
<h1>Payment Component</h1>
<div>
<!-- Just need to click the button -->
<SpotflowButton :config="config">
Pay Now
</SpotflowButton>
</div>
</template>
Read more about our parameters and how they can be used here.
Parameter | Required | Description |
---|---|---|
merchantKey | True | Your API Secret |
reference | False | Your transaction reference. This MUST be unique for every transaction |
amount | False | Amount to charge the customer. NB: For subscription payments, amount comes from the plan details. This is not required for subscription payments. |
currency | True | Currency to charge in. |
localCurrency | False | This is only required when a payment is being made in USD |
encryptionKey | True | This is the encryption key for the merchant. This is required for card payments. |
planId | False | This is the plan ID being paid for however, this is not required for one time payments. |
name | False | This is the Customer's Name |
phoneNumber | False | This is the Customer's Phone Number |
True | This is the Customer's Email Address | |
metadata | True | This contains other information about the product such as the product name and other additional properties. Product Name should not be passed if planId is being passed |
callBackUrl | False | This is the URL the browser redirects to on success of a payment |