{"version":3,"file":"ngx-loov.mjs","sources":["../../../projects/ngx-loov/src/lib/ngx-loov.service.ts","../../../projects/ngx-loov/src/lib/ngx-loov.component.ts","../../../projects/ngx-loov/src/lib/ngx-loov.module.ts","../../../projects/ngx-loov/src/public-api.ts","../../../projects/ngx-loov/src/ngx-loov.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { catchError, Observable, of, switchMap } from 'rxjs';\nimport { Config, PaymentCard, PaymentMobile, LoovResponse, CheckRefResponse, PayOut } from './ngx-loovPay.interface';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class NgxLoovService {\n\n  configData: Config = {\n    merchant_key: '',\n    app_key: '',\n    loov_url: ''\n  };\n\n  constructor(@Inject('config') private config: Config, private httpclient: HttpClient) {\n    this.configData = config;\n  }\n\n\n\n  initPayment(payload: PaymentMobile | PaymentCard):Observable<LoovResponse> {\n\n  \n    const payment_payload = {\n      amount: payload.amount,\n      customer: {\n        name: payload.customer.name,\n        phoneNumber: payload.customer.phoneNumber,\n        email: payload.customer.email\n      },\n      callback: payload.callback_url,\n      description: payload.description,\n    };\n\n    if (payload.payment_mode === 'CARD') {\n      Object.assign(payment_payload, {\n        payment_mode: 'CARD',\n        return_url: payload.return_url,\n        cancel_url: payload.cancel_url,\n        currency: payload.currency,\n      });\n\n    } else {\n\n      Object.assign(payment_payload, {\n        payment_mode: 'MOBILE_MONEY',\n        operator: payload.operator,\n        phoneNumber: payload.phoneNumber,\n        currency: 'XAF',\n      });\n    }\n\n    return this.httpclient.post<LoovResponse>(this.configData.loov_url.concat(payload.payment_mode == 'MOBILE_MONEY' ? '/payment/payin/mobile' : '/payment/init')\n    , payment_payload,\n    {\n      headers: {\n        'Content-Type': 'application/json',\n        'app-key': this.config.app_key, // Replace with your app key\n        'merchant-key': this.config.merchant_key, // Replace with your merchant key\n      }\n    }\n\n  );\n\n  }\n\n\n  checkStatus(reference:string):Observable<CheckRefResponse>{\n\n    return this.httpclient.get<CheckRefResponse>(this.configData.loov_url.concat(`/payment/status/${reference}`),\n     {\n      headers: {\n        'Content-Type': 'application/json',\n        'app-key': this.config.app_key, // Replace with your app key\n        'merchant-key': this.config.merchant_key, // Replace with your merchant key\n      }\n    });\n\n  }\n\n  payOut(payload: PayOut):Observable<LoovResponse> {\n\n    return this.httpclient.post<LoovResponse>(this.configData.loov_url.concat('/payment/payout/mobile')\n    , payload,\n    {\n      headers: {\n        'Content-Type': 'application/json',\n        'app-key': this.config.app_key, // Replace with your app key\n        'merchant-key': this.config.merchant_key, // Replace with your merchant key\n      }\n    }\n\n  );\n      \n  }\n\n\n \n\n\n}\n","import { Component } from '@angular/core';\n\n@Component({\n  selector: 'ngx-loov',\n  template: `\n    <p>\n      Welcome to LoovPay librairies\n    </p>\n  `,\n  styles: [\n  ]\n})\nexport class NgxLoovComponent {\n\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgxLoovComponent } from './ngx-loov.component';\nimport { NgxLoovService } from './ngx-loov.service';\nimport { Config } from './ngx-loovPay.interface';\n \n\n\n\n@NgModule({\n  declarations: [\n    NgxLoovComponent\n  ],\n  imports: [\n ],\n  exports: [\n    NgxLoovComponent\n  ]\n})\n\n\nexport class NgxLoovModule {\n\n  static forRoot(config: Config): ModuleWithProviders<NgxLoovModule> {\n    return {\n        ngModule: NgxLoovModule,\n        providers: [\n            {\n                provide: 'config',\n                useValue: config\n            },\n           NgxLoovService\n        ]\n    };\n}\n }\n","/*\n * Public API Surface of ngx-loov\n */\n\nexport * from './lib/ngx-loov.service';\nexport * from './lib/ngx-loov.component';\nexport * from './lib/ngx-loov.module';\nexport * from './lib/ngx-loovPay.interface';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}