2.0.17 • Published 7 months ago

@falaleev/payment-sdk v2.0.17

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

JFYI

build based on https://antfu.me/posts/publish-esm-and-cjs

Usage

const sdk = require('@falaleev/payment-sdk');
const { ClientError, Status } = require('nice-grpc');
const { RichClientError, BadRequest } = require('nice-grpc-error-details');

const client = sdk.createClient(process.env.PAYMENT_TOKEN || '');

function handleErr(error) {
  const validationErrors = {};

  if (
    error instanceof ClientError &&
    error.code === Status.INVALID_ARGUMENT
  ) {
    if (false === error.hasOwnProperty('extra')) {
      return;
    }

    for (const detail of error.extra) {
      if (detail.$type !== BadRequest.$type) {
        continue
      }

      for (const violation of detail.fieldViolations) {
        if (validationErrors.hasOwnProperty(violation.field)) {
          validationErrors[violation.field].push(violation.description);
        } else {
          validationErrors[violation.field] = [violation.description];
        }
      }
    }
  }

  if (Object.keys(validationErrors).length > 0) {
    console.group('validation errors');
    console.log(validationErrors);
    console.groupEnd();
  } else {
    console.error(error);
  }
}

async function main() {
  try {
    const result = await client.create({
      method: 0,
      duration: 60,
      customer: { name: 'ivan bobrov', email: 'vanya@mail.ru', phone: '+79123492503' },
      items: [
        {
          qty: 1,
          price: 19098,
          name: 'demoror adulatio **test** (abutor assentator **test**)'
        }
      ],
      order_uuid: '722cf002-270d-449b-b3a7-3d87f981abc2'
    });
    console.log(result);
  } catch (error) {
    handleErr(error);
  }
}

function shutdown() {
  process.exit(0);
}

main().then(shutdown).catch(shutdown);
1.0.19

1 year ago

1.0.18

1 year ago

1.0.17

1 year ago

1.0.16

1 year ago

2.0.15

10 months ago

2.0.3

12 months ago

2.0.16

10 months ago

2.0.13

10 months ago

2.0.14

10 months ago

2.0.4

12 months ago

2.0.11

12 months ago

2.0.7

12 months ago

2.0.12

12 months ago

2.0.10

12 months ago

2.0.1

1 year ago

2.0.17

7 months ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.7

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago