@angular_faruk/paypal
TypeScript icon, indicating that this package has built-in type declarations

9.1.8 • Public • Published

Paypal

This library was generated with Angular CLI version 17.2.0.

Code scaffolding

Run ng generate component component-name --project paypal to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module --project paypal.

Note: Don't forget to add --project paypal or else it will be added to the default project in your angular.json file.

Build

Run ng build paypal to build the project. The build artifacts will be stored in the dist/ directory.

PayPal Developer link

Integrating PaypalModule into AppModule

To use the PaypalModule in your Angular application, follow these steps:

  1. Import PaypalModule into AppModule:

    import { NgModule } from '@angular/core';
    import { AppComponent } from './app.component';
    import { PaypalModule } from '@angular_faruk/paypal';
    import { IS_TESTING_MODE } from '@angular_faruk/paypal';
    import { PaypalComponent }  from '@angular_faruk/paypal';
    @NgModule({
      declarations: [
        AppComponent
      ],
      imports: [
        PaypalModule
      ],
      bootstrap: [AppComponent],
      providers: [PaypalComponent,
       { provide: IS_TESTING_MODE, useValue: true } 
    
       
       <!--useValue: true  FOR testing  -->      
       <!--useValue: false  FOR live  -->
    
       
     ]
    })
    export class AppModule {}
    
    

Configuration

  • Option 2: You can import in any componet.

    Example:

      import { IS_TESTING_MODE, PaypalComponent } from '@angular_faruk/paypal';
      import{PaypalService}from '@angular_faruk/paypal'
       import { Component, Inject } from '@angular/core';
    
    @Component({
      selector: 'app-demo',
      templateUrl: './demo.component.html',
      styleUrls: ['./demo.component.css']
    })
    export class LandingPageCoffeeComponent { 
    
       constructor( private PaypalComponent:PaypalComponent ,
        private paypalService: PaypalService,@Inject(IS_TESTING_MODE) 
        private isTestingMode: boolean ) {}
    
    
    }
    
    
    

example

    this.PaypalComponent.Access_token(ClientID, Secret_id).then((response) => {
      console.log('Response:', response);
    // Handle successful response here

    }).catch((error) => {
      console.error('Error:', error);
       // You can display a notification to the
        // user or perform any other error handling logic here 
    });
  


//  START*********create_order payload for single  items

 let OrderformData:any= {
  name: string;
  description: string;
  quantity: number;
  currency_code: string; //USD
  value: number;
  return_url: string; // Replace with your success page URL
  cancel_url: string; // Replace with your cancel page URL
}
// =============================== CAPTURE==================
let intent: string = 'CAPTURE';// The merchant intends to 
// capture payment immediately after 
// the customer makes a payment.
 //========================CAPTURE ==========

// ============ AUTHORIZE BOX READ ==
let intent: string = 'AUTHORIZE';
// The merchant intends to authorize a
//  payment and place funds on hold after 
//  the customer makes a payment. 
//  Authorized payments are best captured
//  within three days of authorization but are
//  available to capture for up to 29 days.
//   After the three-day honor period, 
//   the original authorized payment expires and
//  you must re-authorize the payment.
//  You must make a separate request
//   to capture payments on demand.
//  This intent is not supported 
//  when you have more than
//   one purchase_unit within your order.
// ======================== AUTHORIZE BOX READ =============

//  End**************************






// START ######create_order payload for multiple items

 let OrderformData:any= {
  name: string;
  description: string;
  quantity: number;
  currency_code: string; //USD
  value: number;
  return_url: string;// Replace with your success page URL
  cancel_url: string; // Replace with your cancel page URL
  items: Array<{
    name: string;
    description: string;
    quantity: number;
    unit_amount: {
      currency_code: string;
      value: number;
    };
  }>;
}
// =============================== CAPTURE==================================
let intent: string = 'CAPTURE'; // The merchant intends to capture payment 
      // immediately after the customer makes a payment.
 //=================================CAPTURE =====================================

// ===================================== AUTHORIZE BOX READ =============
let intent: string = 'AUTHORIZE';
// The merchant intends to authorize a payment 
// and place funds on hold after the customer makes a payment. Authorized
  //  payments are best captured within three days of authorization
  //  but are available to capture for up to 29 days.
  //  After the three-day honor period, 
  //  the original authorized payment expires and
  //  you must re-authorize the payment.
  //  You must make a separate request to capture payments on demand.
  // This intent is not supported when
  // you have more than one purchase_unit within your order.
// ===================================== AUTHORIZE BOX READ =============

// End ############################################





// start==========================You can hit  within this function ============ 
    this.PaypalComponent.create_order(OrderformData: Orderinterface,intent:string).then((response) => {
      //  this.order = response.orderss.id
      // localStorage.setItem("order", this.order)
      //  You can use localStorage

      // Handle successful response here
    }).catch((error) => {
        // You can display a notification to the 
        // user or perform any other error handling logic here
    });
  




  // start==========================You can hit  within this function ============ 

    this.PaypalComponent.order_details(order_id:string).then((response) => {
            // Handle successful response here     
    }).catch((error) => {
       // You can display a notification 
      //  to the user or perform any other error handling logic here
    });
  // END======================



   // start===============You can hit  within this function ============ 
 
    this.PaypalComponent.Authorize_payment(order_id).then((response) => {    
              // Handle successful response here  
    }).catch((error) => {
    // You can display a notification to the user or
    //  perform any other error handling logic here
    });
   // END======================

  
   // start===============You can hit  within this function ============ 

    this.PaypalComponent.Show_details_authorized_payments(authorization_id:string).then((response) => {
               // Handle successful response here   
    }).catch((error) => {
           // You can display a notification to the 
          //  user or perform any other error handling logic here
    });
  
    // END======================


   // start===============You can hit  within this function ============

    this.PaypalComponent.Reauthorize_authorized_payment(authorization_id).then((response) => {
        // Handle successful response here   
    }).catch((error) => {
        // You can display a notification to the 
        // user or perform any other error handling logic here
    });
  

    // END======================




   // start===============You can hit  within this function ============

    // Voids, or cancels, an authorized payment, by ID. 
    // You cannot void an authorized payment 
    // that has been fully captured.

    this.PaypalComponent.Void_authorized_payment(authorization_id: string).then((response) => {
      // Handle successful response here   
    }).catch((error) => {
        // You can display a notification to 
        // the user or perform any other error handling logic here
    });
  
   // END======================



   // start===============You can hit  within this function ============ 
  
    let Capturedata = {
      amount: {
        currency_code: 'USD',
        value: 2
      },
      final_capture: true
    };

  



    this.PaypalComponent.Capture_authorized_payment(authorization_id: string,Capturedata:CapturePayload).then((response) => {
        // Handle successful response here   

    }).catch((error) => {
         // You can display a notification to 
        //  the user or perform any other error handling logic here
    });  
  // END======================
    


   // start===============You can hit  within this function ============ 

    this.PaypalComponent.Show_captured_payment_details(capture_ids:string).then((response) => {
   // Handle successful response here  
    }).catch((error) => {
          // You can display a notification to
          //  the user or perform any other error handling logic here
    });
    // END======================




   // start===============You can hit  within this function ============ 
let Refund_captured = {
 amount: {
      value: number;
      currency_code: string;
  };
  note_to_payer: String;
}



    this.PaypalComponent.Refund_captured_payment(capture_id: string Refund_captured:Refund_captured_payments).then((response) => {
   // Handle successful response here  
    }).catch((error) => {
        // You can display a notification to 
        // the user or perform any other error handling logic here
    });
      // END======================



   // start=======You can hit  within this function ============ 

    this.PaypalComponent.Show_refund_details(capture_id).then((response) => {
 // Handle successful response here  
    }).catch((error) => {
   // You can display a notification to the user or 
  //  perform any other error handling logic here
    });
  
    // END======================

Example

Running unit tests

Run ng test paypal to execute the unit tests via Karma.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.

Readme

Keywords

Package Sidebar

Install

npm i @angular_faruk/paypal

Weekly Downloads

2

Version

9.1.8

License

MIT

Unpacked Size

219 kB

Total Files

20

Last publish

Collaborators

  • angular_faruk