npm package: @plasma-platform/tm-service-payment-gate
Description: Scaffolder to start new service api
Author: Mirza Sergey
Latest version: 2.1.9

# Documentation

<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

## PaymentClientService

**Extends TMMicroServiceAPI**

Payment client Micro Service API SDK

**Parameters**

-   `props` **...any** 
-   `url` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** service url
-   `token` **([string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) | null)** user access token if available (optional, default `null`)

### messages

Object with class service messages

### constructor

Constructor of instance

**Parameters**

-   `props` **...any** 
-   `url` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required) url to service
-   `token` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** user token

**Examples**

```javascript
(async () => {
  const paymentClientService = new CartsService('https://jsonplaceholder.typicode.com/', 'dsugsahfdkljhafljkdfhajkldshfad');
})();
```

Returns **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** service SDK object

### createExtendedPayment

Create extended payment

**Parameters**

-   `args` **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** (required) arguments for payments
    -   `args.currency` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** currency ISO-3 code (default: USD)
    -   `args.locale` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** locale code, max length 2 (default en)
    -   `args.cartId` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required) cart id
    -   `args.project` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required) project id
    -   `args.paymentMethodIds` **[array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)** (required) payment method ids
    -   `args.savedPaymentMethodId` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Saved arguments for payments
    -   `args.email` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required)  user Email
    -   `args.phone` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required) user phone number
    -   `args.bonuses` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** Amount of bonuses to use for payment.
    -   `args.trackingInfo` **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** tracking info for payment

**Examples**

```javascript
(async () => {
  const paymentClientService = new PaymentClientService('https://jsonplaceholder.typicode.com/', 'dsugsahfdkljhafljkdfhajkldshfad');
  const data = await paymentClientService.createExtendedPayment({
    cartId: 111,
    project:'monster',
    paymentMethodIds: ['dsfsdhfi9i8304ufds'],
    email: 'user@mail.com',
    phone: '123456789',
  });
})();
```

Returns **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** object with new cart properties

### createPayment

Create payment

**Parameters**

-   `args` **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** (required) arguments for payments
    -   `args.currency` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** currency ISO-3 code (default: USD)
    -   `args.locale` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)?** locale code, max length 2 (default en)
    -   `args.cartId` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required) cart id
    -   `args.project` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required) project id
    -   `args.paymentMethodIds` **[array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)** (required) payment method ids
    -   `args.email` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required)  user Email
    -   `args.phone` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required) user phone number
    -   `args.trackingInfo` **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** tracking info for payment

**Examples**

```javascript
(async () => {
  const paymentClientService = new PaymentClientService('https://jsonplaceholder.typicode.com/', 'dsugsahfdkljhafljkdfhajkldshfad');
  const data = await paymentClientService.createPayment({
    cartId: 111,
    project:'monster',
    paymentMethodIds: ['dsfsdhfi9i8304ufds'],
    email: 'user@mail.com',
    phone: '123456789',
  });
})();
```

Returns **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** object with new cart properties

### retryPayment

Retry payment

**Parameters**

-   `args` **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** (required) arguments for payments
    -   `args.orderId` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required) cart id
    -   `args.paymentMethodId` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required) payment method id
    -   `args.trackingInfo` **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** tracking info for payment

**Examples**

```javascript
(async () => {
  const paymentClientService = new PaymentClientService('https://jsonplaceholder.typicode.com/', 'dsugsahfdkljhafljkdfhajkldshfad');
  const data = await paymentClientService.retryPayment({
    orderId: 111,
    paymentMethodId: 'dsfsdhfi9i8304ufds',
  });
})();
```

Returns **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** object with new payment url

### getSavedPaymentMethodCount

Get saved payment method count

**Parameters**

-   `email` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required) client email

**Examples**

```javascript
(async () => {
  const paymentClientService = new PaymentClientService('https://jsonplaceholder.typicode.com/', 'dsugsahfdkljhafljkdfhajkldshfad');
  const data = await paymentClientService.getSavedPaymentMethodCount('user@mail.com');
})();
```

Returns **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** payment method count

### getCommonPaymentMethods

Get common payment methods

**Parameters**

-   `args` **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** (required) list of arguments for payment methods
    -   `args.project` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required) project name
    -   `args.countryCode` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** country code max length 2 (default us)
    -   `args.locale` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** locale code, max length 2 (default en)

**Examples**

```javascript
(async () => {
  const paymentClientService = new PaymentClientService('https://jsonplaceholder.typicode.com/', 'dsugsahfdkljhafljkdfhajkldshfad');
  const data = await paymentClientService.getCommonPaymentMethods({project: 'monster'});
})();
```

Returns **[array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)** payment method count

### getUserSavedPaymentMethods

Get user saved payment methods

**Parameters**

-   `args` **[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** (required) list of arguments for payment methods
    -   `args.project` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** (required) project name
    -   `args.locale` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** locale code, max length 2 (default en)

**Examples**

```javascript
(async () => {
  const paymentClientService = new PaymentClientService('https://jsonplaceholder.typicode.com/', 'dsugsahfdkljhafljkdfhajkldshfad');
  const data = await paymentClientService.getUserSavedPaymentMethods({project: 'monster', locale: 'en'});
})();
```

Returns **[array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)** payment method count