UNPKG

educa-sdk

Version:

A JavaScript SDK for interacting with the Educa backend API (Admin, Staff, and Student methods)

87 lines (81 loc) 2.43 kB
import request from '../api/request.js'; import PaystackPop from '@paystack/inline-js'; export const card = () => ({ get: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v1/card/get_bank_card/', params: params, }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, add: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/card/add_bank_card/', data: formData }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, makePayment: async ({ formData = {}, onSuccess, onError } = {}) => { try { const popup = new PaystackPop(); popup.newTransaction({ key: formData.paystack_public_key, email: formData.email, amount: Number(formData.amount), reference: formData.reference, channels: ['card'], onSuccess: (response) => { onSuccess?.(response) return response }, onError: (response) => { onError?.(response) return response } }) } catch (err) { onError?.(err); throw err; } }, verifyPayment: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v1/card/verify_card_charge/', params: params }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, delete: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/card/delete_bank_card/', data: formData }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, })