| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import { Component, OnInit } from '@angular/core';
- import { ModalController, Platform } from '@ionic/angular';
- import { PayPal, PayPalPayment, PayPalConfiguration } from '@ionic-native/paypal/ngx';
- @Component({
- selector: 'app-checkout',
- templateUrl: './checkout.page.html',
- styleUrls: ['./checkout.page.scss'],
- })
- export class CheckoutPage implements OnInit {
- constructor(public modalController: ModalController, private payPal: PayPal) { }
- ngOnInit() {
- }
- dismiss() {
- // using the injected ModalController this page
- // can "dismiss" itself and optionally pass back data
- this.modalController.dismiss({
- 'dismissed': true
- });
- }
- paymentAmount: string = '640';
- currency: string = 'USD';
- currencyIcon: string = 'USD';
- payWithPaypal() {
- this.payPal.init({
- PayPalEnvironmentProduction: 'YOUR_PRODUCTION_CLIENT_ID',
- PayPalEnvironmentSandbox: 'AVszPxWCuK3FGXKlgOCFu3gVXr8lFkKj9z1wUo9BYdestZbGRg5vDqWm_pqlLkhEu8KHsjP8NmfPhc_o'
- }).then(() => {
- // Environments: PayPalEnvironmentNoNetwork, PayPalEnvironmentSandbox, PayPalEnvironmentProduction
- this.payPal.prepareToRender('PayPalEnvironmentSandbox', new PayPalConfiguration({
- // Only needed if you get an "Internal Service Error" after PayPal login!
- //payPalShippingAddressOption: 2 // PayPalShippingAddressOptionPayPal
- })).then(() => {
- let payment = new PayPalPayment(this.paymentAmount, this.currency, 'Description', 'sale');
- this.payPal.renderSinglePaymentUI(payment).then((res) => {
- console.log(res);
- // Successfully paid
- }, (error) => {
- console.log(error);
- // Error or render dialog closed without being successful
- });
- }, (error) => {
- console.log(error);
- // Error in configuration
- });
- }, (error) => {
- console.log(error);
- // Error in initialization, maybe PayPal isn't supported or something else
- });
- }
- }
|