UNPKG

flutterwave-angular-v3

Version:

Flutterwave official Angular library to accept payment via card , USSD, QrCode etc.

1 lines 20.6 kB
{"version":3,"file":"flutterwave-angular-v3.mjs","sources":["../../../projects/flutterwave-angular-v3/src/lib/api-tracking.service.ts","../../../projects/flutterwave-angular-v3/src/lib/flutterwave.service.ts","../../../projects/flutterwave-angular-v3/src/lib/flutterwave.module.ts","../../../projects/flutterwave-angular-v3/src/lib/make-payment/make-payment.component.ts","../../../projects/flutterwave-angular-v3/src/lib/make-payment/make-payment.component.html","../../../projects/flutterwave-angular-v3/src/public-api.ts","../../../projects/flutterwave-angular-v3/src/flutterwave-angular-v3.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({providedIn: 'root'})\nexport class ApiTrackingService {\n trackingEndPoint = 'https://kgelfdz7mf.execute-api.us-east-1.amazonaws.com/staging/sendevent';\n\n packageVersion = '1.2.1';\n language = 'Angular V3';\n\n /* trackingFeatures = {\n 'initiateCardCharge': 'Initiate-Card-charge',\n 'initiateCardChargeError': 'Initiate-Card-charge-error',\n 'validateCardCharge': 'Validate-Card-charge',\n 'validateCardChargeError': 'Validate-Card-charge-error',\n 'verifyCardCharge': 'Verify-Card-charge',\n 'verifyCardChargeError': 'Verify-Card-charge-error',\n 'initiateAccountCharge': 'Initiate-Account-charge',\n 'initiateAccountChargeError': 'Initiate-Account-charge-error',\n 'accountChargeValidate': 'Account-charge-validate',\n 'accountChargeValidateError': 'Account-charge-validate-error',\n 'accountChargeVerify': 'Account-charge-verify',\n 'accountChargeVerifyError': 'Account-charge-verify-error',\n }*/\n\n constructor() {\n }\n\n track(data: {\n paymentData: object | any,\n response: object | any,\n responseTime: string\n }) {\n const trackingData = {\n publicKey: data.paymentData.public_key,\n language: this.language,\n version: this.packageVersion,\n title: '',\n message: '0' // data.responseTime\n };\n\n const paymentOptions = data.paymentData.payment_options || '';\n const paymentOptionsArray = paymentOptions ? paymentOptions.split(',') : [];\n\n let title = '';\n\n if (paymentOptionsArray.length === 0) {\n title = 'Initiate-Charge-Dashboard';\n } else if (paymentOptionsArray.length === 1) {\n title = 'Initiate-Charge-' + paymentOptions;\n } else {\n title = 'Initiate-Charge-Multiple';\n }\n\n trackingData.title = data.response.status === 'successful' ? title : title + '-error';\n\n this.submitTracking(trackingData);\n }\n\n submitTracking(data: any) {\n fetch(this.trackingEndPoint, {\n method: 'POST',\n body: JSON.stringify(data)\n }).then((res) => {\n });\n }\n}\n\n/*\ninterface tracking-data {\n merchantId: string,\n language: string\n}\n*/\n","// This reference is necessary to ensure TypeScript recognizes the global FlutterwaveCheckout function.\n/// <reference path=\"../index.d.ts\" />\n\nimport { Injectable } from '@angular/core';\nimport { AsyncPaymentOptions, InlinePaymentOptions, PaymentSuccessResponse } from './models';\nimport { ApiTrackingService } from './api-tracking.service';\n\n@Injectable({providedIn: 'root'})\nexport class FlutterwaveService {\n constructor(private tracker: ApiTrackingService) {\n }\n\n inlinePay(paymentData: InlinePaymentOptions) {\n const data = {\n ...paymentData,\n callback: (response: PaymentSuccessResponse) => {\n this.submitToTracker(paymentData , response, 10000);\n if (paymentData.callbackContext && paymentData.callback) {\n (paymentData.callbackContext as { [key: string]: Function })[paymentData.callback.name](response);\n }\n },\n onclose: () => {\n try {\n if (paymentData.callbackContext && paymentData.onclose) {\n (paymentData.callbackContext as { [key: string]: Function })[paymentData.onclose.name]();\n }\n } catch (e) {}\n }\n };\n\n if (window.FlutterwaveCheckout) {\n window.FlutterwaveCheckout(data);\n } else {\n console.error('FlutterwaveCheckout is not defined');\n }\n }\n\n asyncInlinePay(paymentData: AsyncPaymentOptions): Promise<PaymentSuccessResponse | 'closed'> {\n return new Promise((resolve, reject) => {\n paymentData = {\n ...paymentData,\n callback: ($event: PaymentSuccessResponse) => {\n this.submitToTracker(paymentData , $event, 10000);\n resolve($event);\n },\n onclose: () => resolve('closed')\n };\n\n if (window.FlutterwaveCheckout) {\n window.FlutterwaveCheckout(paymentData);\n } else {\n console.error('FlutterwaveCheckout is not defined');\n }\n });\n }\n\n submitToTracker(paymentData: any, response: any, responseTime: any) {\n this.tracker.track({\n paymentData,\n response,\n responseTime\n });\n }\n /**\n *\n * @param waitDuration {Number} Seconds before closing payment modal\n */\n closePaymentModal(waitDuration: number = 0) {\n setTimeout(() => {\n document.getElementsByName('checkout')[0].setAttribute('style',\n 'position:fixed;top:0;left:0;z-index:-1;border:none;opacity:0;pointer-events:none;width:100%;height:100%;');\n document.body.style.overflow = '';\n // document.getElementsByName('checkout')[0].setAttribute('style', 'z-index: -1; opacity: 0')\n }, waitDuration * 1000);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlutterwaveService } from './flutterwave.service';\nimport { ApiTrackingService } from './api-tracking.service';\n\n@NgModule({\n declarations: [],\n providers: [FlutterwaveService, ApiTrackingService],\n imports: [\n CommonModule\n ]\n})\nexport class FlutterwaveModule {\n constructor() {\n const inlineSdk = 'https://checkout.flutterwave.com/v3.js';\n const script = document.createElement('script');\n script.src = inlineSdk;\n if (!document.querySelector(`[src=\"${inlineSdk}\"]`)) {\n document.body.appendChild(script)\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FlutterwaveService } from '../flutterwave.service';\nimport { ApiTrackingService } from '../api-tracking.service';\nimport { InlinePaymentOptions, PaymentSuccessResponse } from '../models';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'flutterwave-make-payment',\n standalone: true,\n providers: [FlutterwaveService, ApiTrackingService],\n imports: [\n CommonModule\n ],\n templateUrl: './make-payment.component.html',\n styleUrl: './make-payment.component.css'\n})\nexport class MakePaymentComponent {\n @Input() public_key!: string;\n @Input() tx_ref!: string;\n @Input() amount!: number;\n @Input() currency?: string;\n @Input() payment_options?: string;\n @Input() payment_plan?: string | number;\n @Input() subaccounts: any;\n @Input() integrity_hash: any;\n @Input() redirect_url?: string;\n @Input() meta?: object; // { counsumer_id, consumer_mac }\n @Input() customer?: object; // { email, phone_number,name }\n @Output() callback: EventEmitter<PaymentSuccessResponse> = new EventEmitter<PaymentSuccessResponse>();\n @Output() close: EventEmitter<any> = new EventEmitter();\n @Input() customizations?: object; // { title, description, logo }\n @Input() text?: string;\n @Input() style: any;\n @Input() className?: string;\n @Input() data?: InlinePaymentOptions;\n\n private inlinePaymentOptions!: InlinePaymentOptions;\n\n customer_defaults = {\n email: '',\n phone_number: '',\n name: ''\n };\n meta_defaults = {\n consumer_id: '',\n consumer_mac: ''\n };\n customizations_defaults = {\n title: '',\n description: '',\n logo: ''\n };\n\n constructor(private flutterwaveService: FlutterwaveService) {\n const inlineSdk = 'https://checkout.flutterwave.com/v3.js';\n const script = document.createElement('script');\n script.src = inlineSdk;\n if (!document.querySelector(`[src=\"${inlineSdk}\"]`)) {\n document.body.appendChild(script);\n }\n }\n\n ngOnInit(): void {\n }\n\n makePayment() {\n this.prepareForPayment();\n if (window.FlutterwaveCheckout) {\n window.FlutterwaveCheckout(this.inlinePaymentOptions);\n } else {\n console.error('FlutterwaveCheckout is not defined');\n }\n }\n\n prepareForPayment(): void {\n this.customer = this.customer || {};\n this.meta = this.meta || {};\n this.customizations = this.customizations || {};\n\n if (this.data) {\n this.inlinePaymentOptions = {\n ...this.data,\n callback: response => {\n this.flutterwaveService.submitToTracker(this.data , response, 10000);\n if (this.data?.callbackContext && this.data.callback) {\n (this.data.callbackContext as { [key: string]: Function })[this.data.callback.name](response);\n }\n },\n onclose: () => {\n try {\n if (this.data?.callbackContext && this.data.onclose) {\n (this.data.callbackContext as { [key: string]: Function })[this.data.onclose.name]();\n }\n } catch (e) {\n }\n },\n }\n } else {\n this.inlinePaymentOptions = {\n callbackContext: null,\n public_key: this.public_key,\n tx_ref: this.tx_ref,\n amount: this.amount,\n currency: this.currency || 'NGN',\n payment_options: this.payment_options || 'card, mobilemoney, ussd',\n redirect_url: this.redirect_url || '',\n meta: {...this.meta_defaults, ...this.meta},\n customer: {...this.customer_defaults, ...this.customer},\n callback: (response: PaymentSuccessResponse) => {\n this.flutterwaveService.submitToTracker(this.inlinePaymentOptions , response, 10000);\n this.callback.emit(response);\n },\n onclose: () => this.close.emit(),\n customizations: {\n ...this.customizations_defaults,\n ...this.customizations\n }\n }\n if (this.payment_plan) {\n this.inlinePaymentOptions.payment_plan = this.payment_plan;\n }\n if (this.subaccounts) {\n this.inlinePaymentOptions.subaccounts = this.subaccounts;\n }\n if (this.integrity_hash) {\n this.inlinePaymentOptions.integrity_hash = this.integrity_hash;\n }\n }\n }\n}\n","<button\n [ngStyle]=\"style\"\n [ngClass]=\"className ? className : 'flutterwave-pay-button'\"\n (click)=\"makePayment()\">\n {{text || 'Pay'}}\n</button>\n","/*\n * Public API Surface of flutterwave\n */\n\nexport { InlinePaymentOptions, PaymentSuccessResponse, AsyncPaymentOptions } from './lib/models';\nexport { FlutterwaveService } from './lib/flutterwave.service';\nexport { FlutterwaveModule } from './lib/flutterwave.module';\nexport { MakePaymentComponent } from './lib/make-payment/make-payment.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ApiTrackingService","i1.FlutterwaveService"],"mappings":"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"}