payrex-node 1.2.1 → 1.4.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.4.0] - 2025-05-15
4
+
5
+ - Add get payment by id endpoint
6
+
7
+ ## [1.3.0] - 2025-04-23
8
+
9
+ - Add customer session endpoints.
10
+
3
11
  ## [1.2.1] - 2025-04-23
4
12
 
5
13
  - Add update support for refunds.
package/package.json CHANGED
@@ -1,11 +1,13 @@
1
1
  {
2
2
  "name": "payrex-node",
3
- "version": "1.2.1",
3
+ "version": "1.4.0",
4
4
  "description": "PayRex Node JS Library",
5
5
  "keywords": [
6
6
  "payrex",
7
7
  "payment processing",
8
8
  "credit cards",
9
+ "gcash",
10
+ "qrph",
9
11
  "api"
10
12
  ],
11
13
  "homepage": "https://github.com/payrexhq/payrex-node",
@@ -0,0 +1,15 @@
1
+ function CustomerSessionEntity(apiResource) {
2
+ const data = apiResource.data;
3
+
4
+ this.id = data.id;
5
+ this.customerId = data.customer_id;
6
+ this.clientSecret = data.client_secret;
7
+ this.livemode = data.livemode;
8
+ this.components = data.components;
9
+ this.expired = data.expired;
10
+ this.expiredAt = data.expired_at;
11
+ this.createdAt = data.created_at;
12
+ this.updatedAt = data.updated_at;
13
+ }
14
+
15
+ module.exports = CustomerSessionEntity;
@@ -0,0 +1,23 @@
1
+ function PaymentEntity(apiResource) {
2
+ const data = apiResource.data;
3
+
4
+ this.id = data.id;
5
+ this.amount = data.amount
6
+ this.amountRefunded = data.amount_refunded
7
+ this.billing = data.billing
8
+ this.currency = data.currency
9
+ this.description = data.description
10
+ this.fee = data.fee
11
+ this.livemode = data.livemode
12
+ this.metadata = data.metadata
13
+ this.netAmount = data.net_amount
14
+ this.paymentIntentId = data.payment_intent_id
15
+ this.status = data.status
16
+ this.customer = data.customer
17
+ this.paymentMethod = data.payment_method
18
+ this.refunded = data.refunded
19
+ this.createdAt = data.created_at;
20
+ this.updatedAt = data.updated_at;
21
+ }
22
+
23
+ module.exports = PaymentEntity;
@@ -0,0 +1,31 @@
1
+ const BaseService = require('./BaseService');
2
+ const CustomerSessionEntity = require('../entities/CustomerSessionEntity');
3
+ const ApiResource = require('../ApiResource');
4
+
5
+ function CustomerSessionService(client) {
6
+ BaseService.call(this, client);
7
+ this.path = 'customer_sessions';
8
+ }
9
+
10
+ CustomerSessionService.prototype.create = function (payload) {
11
+ return this.request({
12
+ path: this.path,
13
+ payload: payload,
14
+ method: 'post',
15
+ }).then(function (response) {
16
+ return new CustomerSessionEntity(response);
17
+ });
18
+ };
19
+
20
+ CustomerSessionService.prototype.retrieve = function (id) {
21
+ return this.request({
22
+ path: `${this.path}/${id}`,
23
+ method: 'get',
24
+ }).then(function (response) {
25
+ return new CustomerSessionEntity(response);
26
+ });
27
+ };
28
+
29
+ Object.setPrototypeOf(CustomerSessionService.prototype, BaseService.prototype);
30
+
31
+ module.exports = CustomerSessionService;
@@ -0,0 +1,20 @@
1
+ const BaseService = require('./BaseService');
2
+ const PaymentEntity = require('../entities/PaymentEntity');
3
+
4
+ function PaymentService(client) {
5
+ BaseService.call(this, client);
6
+ this.path = 'payments';
7
+ }
8
+
9
+ PaymentService.prototype.retrieve = function (id) {
10
+ return this.request({
11
+ path: `${this.path}/${id}`,
12
+ method: 'get',
13
+ }).then(function (response) {
14
+ return new PaymentEntity(response);
15
+ });
16
+ };
17
+
18
+ Object.setPrototypeOf(PaymentService.prototype, BaseService.prototype);
19
+
20
+ module.exports = PaymentService;
@@ -1,13 +1,17 @@
1
1
  const BillingStatementLineItemService = require('./BillingStatementLineItemService');
2
2
  const BillingStatementService = require('./BillingStatementService');
3
3
  const CheckoutSessionService = require('./CheckoutSessionService');
4
+ const CustomerSessionService = require('./CustomerSessionService');
4
5
  const CustomerService = require('./CustomerService');
5
6
  const PaymentIntentService = require('./PaymentIntentService');
7
+ const PaymentService = require('./PaymentService');
6
8
  const RefundService = require('./RefundService');
7
9
  const WebhookService = require('./WebhookService');
8
10
 
9
11
  module.exports = {
10
12
  checkoutSessions: CheckoutSessionService,
13
+ customerSessions: CustomerSessionService,
14
+ payments: PaymentService,
11
15
  paymentIntents: PaymentIntentService,
12
16
  customers: CustomerService,
13
17
  billingStatements: BillingStatementService,
package/test2.js DELETED
@@ -1,55 +0,0 @@
1
- const payrex = require('payrex-node')(
2
- 'sk_live_znE26cM4ZbZP3mfTLeZsnw7EceWHKiPN'
3
- );
4
-
5
- const RequestInvalidError = require('./src/errors/RequestInvalidError');
6
- const AuthenticationInvalidError = require('./src/errors/AuthenticationInvalidError');
7
- const ResourceNotFoundError = require('./src/errors/ResourceNotFoundError');
8
-
9
- // try {
10
- // const paymentIntent = await payrex.paymentIntents.create({ amount: 10000 });
11
- // } catch (error) {
12
- // console.log('caught error!')
13
- // if (error instanceof ResourceNotFoundError) {
14
- // // handle error if a resource does not exist.
15
- // } else if (error instanceof AuthenticationInvalidError) {
16
- // // handle authentication error
17
- // } else if (error instanceof RequestInvalidError) {
18
- // console.log('handle error if there\'s validation error');
19
-
20
- // error.errors.forEach((e) => {
21
- // console.log(e.code);
22
- // console.log(e.detail);
23
- // });
24
- // }
25
- // }
26
-
27
- (async () => {
28
- try {
29
- const paymentIntent = await payrex.paymentIntents.create({ amount: 10000 });
30
- } catch (error) {
31
- console.log('caught error!');
32
- console.log(error.name);
33
- if (error.name === 'ResourceNotFoundError') {
34
- // handle error if a resource does not exist.
35
- } else if (error.name === 'AuthenticationInvalidError') {
36
- // handle authentication error
37
- } else if (error.name === 'RequestInvalidError') {
38
- console.log("handle error if there's validation error");
39
-
40
- error.errors.forEach((e) => {
41
- console.log(e.code);
42
- console.log(e.detail);
43
- });
44
- }
45
- }
46
- })();
47
-
48
- const refund = await payrex.refunds.update(
49
- 're_xPy5nb7p6R7jG4ZPEJu5WvVCb8Lz31qx',
50
- {
51
- metadata: {
52
- 'some_key3': 'some_val3'
53
- }
54
- }
55
- )