@paykit-sdk/paypal 1.0.6 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,9 @@
1
- import { AbstractPayKitProvider, PayKitProvider, PaykitProviderOptions, CreateCheckoutSchema, Checkout, UpdateCheckoutSchema, CreateCustomerParams, Customer, UpdateCustomerParams, CreateSubscriptionSchema, Subscription, UpdateSubscriptionSchema, CreatePaymentSchema, Payment, UpdatePaymentSchema, CreateRefundSchema, Refund, HandleWebhookParams, WebhookEventPayload } from '@paykit-sdk/core';
1
+ import { AbstractPayKitProvider, PayKitProvider, ProviderMetadataRegistry, PaykitProviderOptions, CreateCheckoutSchema, Checkout, UpdateCheckoutSchema, CreateCustomerParams, Customer, UpdateCustomerParams, CreateSubscriptionSchema, Subscription, UpdateSubscriptionSchema, CreatePaymentSchema, Payment, UpdatePaymentSchema, CreateRefundSchema, Refund, WebhookHandlerConfig, WebhookEventPayload } from '@paykit-sdk/core';
2
+ import { Client } from '@paypal/paypal-server-sdk';
3
+ import { PayPalRawEvents } from './types.mjs';
2
4
 
5
+ interface PayPalMetadata extends ProviderMetadataRegistry {
6
+ }
3
7
  interface PayPalOptions extends PaykitProviderOptions {
4
8
  /**
5
9
  * The client ID for the PayPal API
@@ -9,13 +13,11 @@ interface PayPalOptions extends PaykitProviderOptions {
9
13
  * The client secret for the PayPal API
10
14
  */
11
15
  clientSecret: string;
12
- /**
13
- * Whether to use the sandbox environment
14
- */
15
- isSandbox: boolean;
16
16
  }
17
- declare class PayPalProvider extends AbstractPayKitProvider implements PayKitProvider {
17
+ declare class PayPalProvider extends AbstractPayKitProvider implements PayKitProvider<PayPalMetadata, Client, PayPalRawEvents> {
18
18
  readonly providerName = "paypal";
19
+ readonly isSandbox: boolean;
20
+ get _native(): Client;
19
21
  private client;
20
22
  private ordersController;
21
23
  private paymentsController;
@@ -34,10 +36,6 @@ declare class PayPalProvider extends AbstractPayKitProvider implements PayKitPro
34
36
  updateCustomer: (id: string, params: UpdateCustomerParams) => Promise<Customer>;
35
37
  deleteCustomer: (id: string) => Promise<null>;
36
38
  retrieveCustomer: (id: string) => Promise<Customer | null>;
37
- /**
38
- * Subscription management
39
- * Would need PayPal Subscriptions API - different from Orders
40
- */
41
39
  createSubscription: (params: CreateSubscriptionSchema) => Promise<Subscription>;
42
40
  cancelSubscription: (id: string) => Promise<Subscription>;
43
41
  updateSubscription: (id: string, params: UpdateSubscriptionSchema) => Promise<Subscription>;
@@ -57,10 +55,7 @@ declare class PayPalProvider extends AbstractPayKitProvider implements PayKitPro
57
55
  * Refund management
58
56
  */
59
57
  createRefund: (params: CreateRefundSchema) => Promise<Refund>;
60
- /**
61
- * Webhook management
62
- */
63
- handleWebhook: (params: HandleWebhookParams) => Promise<Array<WebhookEventPayload>>;
58
+ handleWebhook: (params: WebhookHandlerConfig, webhookSecret: string | null) => Promise<Array<WebhookEventPayload<PayPalRawEvents>>>;
64
59
  }
65
60
 
66
61
  export { type PayPalOptions, PayPalProvider };
@@ -1,5 +1,9 @@
1
- import { AbstractPayKitProvider, PayKitProvider, PaykitProviderOptions, CreateCheckoutSchema, Checkout, UpdateCheckoutSchema, CreateCustomerParams, Customer, UpdateCustomerParams, CreateSubscriptionSchema, Subscription, UpdateSubscriptionSchema, CreatePaymentSchema, Payment, UpdatePaymentSchema, CreateRefundSchema, Refund, HandleWebhookParams, WebhookEventPayload } from '@paykit-sdk/core';
1
+ import { AbstractPayKitProvider, PayKitProvider, ProviderMetadataRegistry, PaykitProviderOptions, CreateCheckoutSchema, Checkout, UpdateCheckoutSchema, CreateCustomerParams, Customer, UpdateCustomerParams, CreateSubscriptionSchema, Subscription, UpdateSubscriptionSchema, CreatePaymentSchema, Payment, UpdatePaymentSchema, CreateRefundSchema, Refund, WebhookHandlerConfig, WebhookEventPayload } from '@paykit-sdk/core';
2
+ import { Client } from '@paypal/paypal-server-sdk';
3
+ import { PayPalRawEvents } from './types.js';
2
4
 
5
+ interface PayPalMetadata extends ProviderMetadataRegistry {
6
+ }
3
7
  interface PayPalOptions extends PaykitProviderOptions {
4
8
  /**
5
9
  * The client ID for the PayPal API
@@ -9,13 +13,11 @@ interface PayPalOptions extends PaykitProviderOptions {
9
13
  * The client secret for the PayPal API
10
14
  */
11
15
  clientSecret: string;
12
- /**
13
- * Whether to use the sandbox environment
14
- */
15
- isSandbox: boolean;
16
16
  }
17
- declare class PayPalProvider extends AbstractPayKitProvider implements PayKitProvider {
17
+ declare class PayPalProvider extends AbstractPayKitProvider implements PayKitProvider<PayPalMetadata, Client, PayPalRawEvents> {
18
18
  readonly providerName = "paypal";
19
+ readonly isSandbox: boolean;
20
+ get _native(): Client;
19
21
  private client;
20
22
  private ordersController;
21
23
  private paymentsController;
@@ -34,10 +36,6 @@ declare class PayPalProvider extends AbstractPayKitProvider implements PayKitPro
34
36
  updateCustomer: (id: string, params: UpdateCustomerParams) => Promise<Customer>;
35
37
  deleteCustomer: (id: string) => Promise<null>;
36
38
  retrieveCustomer: (id: string) => Promise<Customer | null>;
37
- /**
38
- * Subscription management
39
- * Would need PayPal Subscriptions API - different from Orders
40
- */
41
39
  createSubscription: (params: CreateSubscriptionSchema) => Promise<Subscription>;
42
40
  cancelSubscription: (id: string) => Promise<Subscription>;
43
41
  updateSubscription: (id: string, params: UpdateSubscriptionSchema) => Promise<Subscription>;
@@ -57,10 +55,7 @@ declare class PayPalProvider extends AbstractPayKitProvider implements PayKitPro
57
55
  * Refund management
58
56
  */
59
57
  createRefund: (params: CreateRefundSchema) => Promise<Refund>;
60
- /**
61
- * Webhook management
62
- */
63
- handleWebhook: (params: HandleWebhookParams) => Promise<Array<WebhookEventPayload>>;
58
+ handleWebhook: (params: WebhookHandlerConfig, webhookSecret: string | null) => Promise<Array<WebhookEventPayload<PayPalRawEvents>>>;
64
59
  }
65
60
 
66
61
  export { type PayPalOptions, PayPalProvider };