import { Component, OnInit } from '@angular/core'; import { IPayPalConfig, ICreateOrderRequest } from 'ngx-paypal'; import { ParametroAplicacionService } from '../../parametro-aplicacion/service/parametro-aplicacion.service'; import { EncuestaService } from '../../encuesta/service/encuesta.service'; import { FormBuilder } from '@angular/forms'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; @Component({ selector: 'jhi-paypal-dialog', templateUrl: './paypal-dialog.component.html', styleUrls: ['./paypal-dialog.component.scss'], }) export class PaypalDialogComponent implements OnInit { public payPalConfig?: IPayPalConfig; showSuccess = false; constructor(protected activeModal: NgbActiveModal) {} ngOnInit(): void { this.initConfig(); } private initConfig(): void { this.payPalConfig = { currency: 'USD', clientId: 'sb', createOrderOnClient: data => { intent: 'CAPTURE', purchase_units: [ { amount: { currency_code: 'EUR', value: '9.99', breakdown: { item_total: { currency_code: 'EUR', value: '9.99', }, }, }, items: [ { name: 'Enterprise Subscription', quantity: '1', category: 'DIGITAL_GOODS', unit_amount: { currency_code: 'EUR', value: '9.99', }, }, ], }, ], }, advanced: { commit: 'true', }, style: { label: 'paypal', layout: 'vertical', }, onApprove: (data, actions) => { console.log('onApprove - transaction was approved, but not authorized', data, actions); actions.order.get().then((details: any) => { console.log('onApprove - you can get full order details inside onApprove: ', details); }); }, onClientAuthorization: data => { console.log('onClientAuthorization - you should probably inform your server about completed transaction at this point', data); this.showSuccess = true; }, onCancel: (data, actions) => { console.log('OnCancel', data, actions); }, onError: err => { console.log('OnError', err); }, onClick: (data, actions) => { console.log('onClick', data, actions); }, }; } cancel(): void { this.activeModal.dismiss(); } }