vue plugin library to facilitate payment
npm install @sendyit/pay```
npm install @sendyit/pay
Go to the src/main.js and add the following lines
`
import payments from "@sendyit/pay";
import router from "./router";
import store from "./store";
const app = createApp(App);
app.use(store);
app.use(payments, {
store,
router,
config: {
BASE_URL: process.env.VUE_APP_BASE_URL,
VGS_VAULT_ID: process.env.VUE_APP_VGS_VAULT_ID,
VGS_ENVIRONMENT: process.env.VUE_APP_VGS_ENVIRONMENT,
},
}); // Ensure your put this configurationg above app.use(router)
app.use(router);
app.mount("#app");
``
#### Note:
Ensure your app.use(payment, {})` this configurationg above `app.use(router)`
>### Business unit parameter definitions
>>See more
So there 8 entry points:
``
1. checkout
2. payment-option
3. choose-payment
4. Choose-payment-checkout - Choose payment page with checkout.
5. bank-transfer - Pay with Transfer Deposit page.
6. resolve-payment-checkout - For resolving payments
7. withdraw-checkout - for Checkout of withdrawal
8. manage-withrawal-options - for managing withdrawal checkouts.
8. choose-withdraw-option - for choosing withrawal options then returns back to bu
!Checkouts sample Checkout
!Resolve payment checkout
To go to checkout page call the following method as shown below by passing the Bu payload
`
const buPayload = {
user_id: 1,
entity_id: 1,
currency: 'KES',
country_code: 'KE',
amount: '100',
success_callback_url: '',
fail_callback_url: '',
txref: this.txref,
bulk: false,
paybill_no: '4444444',
email: 'johndoe@gmail.com',
authToken: '', //Add Jwt token for authentication.
firstname: 'John',
lastname: 'doe',
payment_options: [1, 2],// This are the payment_methods_id you get from the paymeht methods available. They are used to filter the payment methods you want the user shown. If you don't wnat to filter live it empty.
company_code: 'SKML', // add company code to associate a transaction to it's repective company.
locale: 'en', // add locale. 'en' & 'fr' are the supported languages now.
pay_direction: "PAY_IN" // includes 'PAY_IN', 'PAY_OUT', 'PAY_ON_DELIVERY',
};
this.$paymentInit(buPayload, 'checkout'); //the 2nd argument can be a 'checkout', 'payment-option', 'choose-payment' or 'choose-payment-checkout, in order to access the 5 entry points of the Bu as listed above.
`
choose-withdraw-option`, You will have will be redirected back to Bu app after pressing continur when the desired withdrawal optio is selected. In order to retrieve the selected payment method in Bu app, you wil use the below code
`
`
How to build and test
In order to help and collaborate, clone this repo, then add what you can improve, and build the npm version of the repo locally in the dist file in the root of the folder, using the below command
`
npm run build-lib
`
To create your own changes, you'll have to create your own branch from master, then create a merge request to master.Contribution
Follow this link to contributeService Mantainance
To mantain the service first read the Contribution section above to comprehend how to setupt before you contribute. Then, create your own branch from the master, do your mantainance and make a merge request to the master to be reviewed before your changes and can be intergrated plugin.To version the App
This project uses Semantic Versioning 2.0.0 starting with v1.0.0. Use the below command for versioning of the app.
`
npm version patch -m "Add a comment for the versioning"
`Release
In order to release we merge the test branch to master, then npm commit the changes for the patch or major error then publish using the packaging and deployment channel below.Packaging and deploying
In order to publish the app, use the below command
`
npm publish
``