[PERS SDK - v2.3.26](/sdk-reference/readme) / [Exports](/sdk-reference/modules) / PaymentService

# Class: PaymentService

Platform-Agnostic Payment Service

Contains payment business logic and operations that work across platforms.
No framework dependencies - pure TypeScript business logic.

Focuses only on actual backend capabilities.
Payment provider logic (Stripe, etc.) should remain in infrastructure layer.

## Table of contents

### Constructors

- [constructor](/sdk-reference/classes/paymentservice#constructor)


### Methods

- [getActivePurchaseTokens](/sdk-reference/classes/paymentservice#getactivepurchasetokens)
- [createPaymentIntent](/sdk-reference/classes/paymentservice#createpaymentintent)
- [updatePaymentIntent](/sdk-reference/classes/paymentservice#updatepaymentintent)
- [cancelPaymentIntent](/sdk-reference/classes/paymentservice#cancelpaymentintent)
- [createPurchase](/sdk-reference/classes/paymentservice#createpurchase)
- [getAllUserPurchases](/sdk-reference/classes/paymentservice#getalluserpurchases)


## Constructors

### constructor

• **new PaymentService**(`paymentApi`): [`PaymentService`](/sdk-reference/classes/paymentservice)

#### Parameters

| Name | Type |
|  --- | --- |
| `paymentApi` | [`PaymentApi`](/sdk-reference/classes/paymentapi) |


#### Returns

[`PaymentService`](/sdk-reference/classes/paymentservice)

#### Defined in

[payment/services/payment-service.ts:22](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/payment/services/payment-service.ts#L22)

## Methods

### getActivePurchaseTokens

▸ **getActivePurchaseTokens**(`active?`, `options?`): `Promise`<`PaginatedResponseDTO`<`PurchaseTokenDTO`>>

PUBLIC: Get active purchase tokens

#### Parameters

| Name | Type | Default value |
|  --- | --- | --- |
| `active` | `boolean` | `true` |
| `options?` | `PaginationOptions` | `undefined` |


#### Returns

`Promise`<`PaginatedResponseDTO`<`PurchaseTokenDTO`>>

#### Defined in

[payment/services/payment-service.ts:31](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/payment/services/payment-service.ts#L31)

### createPaymentIntent

▸ **createPaymentIntent**(`amount`, `currency`, `receiptEmail`, `description`): `Promise`<`PaymentIntentDTO`>

PUBLIC: Create payment intent

#### Parameters

| Name | Type |
|  --- | --- |
| `amount` | `number` |
| `currency` | `EUR` |
| `receiptEmail` | `string` |
| `description` | `string` |


#### Returns

`Promise`<`PaymentIntentDTO`>

#### Defined in

[payment/services/payment-service.ts:38](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/payment/services/payment-service.ts#L38)

### updatePaymentIntent

▸ **updatePaymentIntent**(`paymentIntentId`, `amount`, `currency`, `receiptEmail`, `description`): `Promise`<`PaymentIntentDTO`>

PUBLIC: Update payment intent

#### Parameters

| Name | Type |
|  --- | --- |
| `paymentIntentId` | `string` |
| `amount` | `number` |
| `currency` | `EUR` |
| `receiptEmail` | `string` |
| `description` | `string` |


#### Returns

`Promise`<`PaymentIntentDTO`>

#### Defined in

[payment/services/payment-service.ts:45](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/payment/services/payment-service.ts#L45)

### cancelPaymentIntent

▸ **cancelPaymentIntent**(`paymentIntentId`): `Promise`<`PaymentIntentDTO`>

PUBLIC: Cancel payment intent

#### Parameters

| Name | Type |
|  --- | --- |
| `paymentIntentId` | `string` |


#### Returns

`Promise`<`PaymentIntentDTO`>

#### Defined in

[payment/services/payment-service.ts:52](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/payment/services/payment-service.ts#L52)

### createPurchase

▸ **createPurchase**(`paymentIntentId`, `amount`, `purchaseTokenId?`, `donationTypeId?`, `donationAccountAddress?`): `Promise`<`PurchaseCreateResponseDTO`>

AUTH: Create purchase

#### Parameters

| Name | Type |
|  --- | --- |
| `paymentIntentId` | `string` |
| `amount` | `number` |
| `purchaseTokenId?` | `string` |
| `donationTypeId?` | `number` |
| `donationAccountAddress?` | `string` |


#### Returns

`Promise`<`PurchaseCreateResponseDTO`>

#### Defined in

[payment/services/payment-service.ts:63](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/payment/services/payment-service.ts#L63)

### getAllUserPurchases

▸ **getAllUserPurchases**(`options?`): `Promise`<`PaginatedResponseDTO`<`PurchaseDTO`>>

AUTH: Get all user purchases

#### Parameters

| Name | Type |
|  --- | --- |
| `options?` | `PaginationOptions` |


#### Returns

`Promise`<`PaginatedResponseDTO`<`PurchaseDTO`>>

#### Defined in

[payment/services/payment-service.ts:70](https://github.com/eXplorins/PERS-sdks/blob/main/packages/pers-sdk/packages/pers-sdk/src/payment/services/payment-service.ts#L70)