karibou-wallet 2.9.13 → 2.9.91

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/README.md CHANGED
@@ -4,13 +4,24 @@
4
4
 
5
5
  ## Main usage
6
6
 
7
- The purpose of this project is to provide a simple and intiutive API to handle a simple Wallet manager for your e-commerce. It has bean designed to work on server side.
7
+ The purpose of this project is to provide a simple and intuitive API to handle a simple Wallet manager for our karibou.ch marketplace. It has bean designed to work on server side and it's usefull for,
8
+ * Stripe payment (card, SEPA, ...)
9
+ * Simple debit balance account
10
+ * Simple credit balance account (for invoice)
11
+ * Two step payment (authorization, capture, refund)
12
+ * Subscription (weekly, monthly)
13
+ * Customer management (security, sensible data)
14
+ * email and name
15
+ * phones
16
+ * addresses
17
+ * payment methods
18
+ * Simple signin verification (OTP) with SMS
8
19
 
9
20
  ## Prerequisites
10
- install node.js with [NVM](https://github.com/creationix/nvm) (required).
21
+ install node.js with [NVM](https://github.com/nvm-sh/nvm#installing-and-updating) (required).
11
22
 
12
- nvm install v6.9.5
13
- nvm use v6.9.5
23
+ nvm install v18.x
24
+ nvm use v8.x
14
25
 
15
26
  ## Installation
16
27
  From github,
@@ -36,25 +47,12 @@ sandbox.
36
47
  ## Wallet specification 1.0
37
48
  * [specifications of our wallet with Stripe](../../wiki/Wallet-1.0-Specifications-(Stripe-backend))
38
49
 
39
- ### Overview
40
- When using the karibou-wallet api, you basically deal with 3 separate concepts:
41
- - wallet (the container of an amount of money),
42
- - transaction (helper to manage charges)
43
- - smartcontract (multiple destinations)
44
- - transfer information
45
-
46
-
47
- ## Authors & spcial thanks :heart:
48
-
49
- - David Pate, https://github.com/patedavid
50
- - Evalet Olivier, https://github.com/evaletolab
51
- - Noria Foukia Enseignante en mathématiques @HEPIA
52
50
 
53
51
 
54
52
  ## License
55
53
  The API is available under AGPL V3 to protect the long term interests of the community – you are free to use it with no restrictions but if you change the server code, then those code changes must be contributed back.
56
54
 
57
- > Copyright (c) 2014 Olivier Evalet (http://evaletolab.ch/)<br/>
55
+ > Copyright (c) 2014 Olivier Evalet (https://karibou.ch/)<br/>
58
56
  > <br/><br/>
59
57
  > Permission is hereby granted, free of charge, to any person obtaining a copy
60
58
  > of this software and associated documentation files (the “Software”), to deal
package/dist/config.d.ts CHANGED
@@ -5,4 +5,3 @@ export default class Config {
5
5
  static configure(opts: any): any;
6
6
  static option(option: string, value?: any): any;
7
7
  }
8
- export declare const $config: any;
package/dist/config.js CHANGED
@@ -1,8 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.$config = void 0;
4
- const fs_1 = require("fs");
5
- const path_1 = require("path");
6
3
  class Config {
7
4
  constructor(opts) {
8
5
  Object.keys(opts).forEach(function (key) {
@@ -46,6 +43,7 @@ class Config {
46
43
  Config.settings[option] = value;
47
44
  break;
48
45
  case 'allowMaxAmount':
46
+ case 'allowMaxCredit':
49
47
  case 'reservedAmount':
50
48
  Config.settings[option] = parseFloat(value);
51
49
  break;
@@ -72,32 +70,4 @@ class Config {
72
70
  ;
73
71
  }
74
72
  exports.default = Config;
75
- const env = (process.env.NODE_ENV || 'test');
76
- const rootPath = (0, path_1.dirname)(require.main.filename);
77
- const loadConfig = (direnames) => {
78
- for (let from of direnames) {
79
- let cfg = from + '/config-' + env + '.js';
80
- console.log('--- try ', cfg);
81
- if ((0, fs_1.existsSync)(cfg)) {
82
- return cfg;
83
- }
84
- cfg = from + '/config-developpement.js';
85
- console.log('--- try ', cfg);
86
- if ((0, fs_1.existsSync)(cfg)) {
87
- return cfg;
88
- }
89
- cfg = from + '/config-production.js';
90
- console.log('--- try ', cfg);
91
- if ((0, fs_1.existsSync)(cfg)) {
92
- return cfg;
93
- }
94
- }
95
- };
96
- let cfg = loadConfig([rootPath + '/..', rootPath + '/.', rootPath + '/config', __dirname, __dirname + '/..']);
97
- if (!cfg) {
98
- throw "Config file is mandatory!";
99
- }
100
- const config = require(cfg);
101
- console.log(' load configuration for payment module using: ', cfg);
102
- exports.$config = Config.configure(config.wallet || config.payment);
103
73
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../lib/config.ts"],"names":[],"mappings":";;;AAKA,2BAAgC;AAChC,+BAA+B;AAG/B,MAAqB,MAAM;IAIzB,YAAoB,IAAI;QAEtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAS,GAAG;YACpC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;IACtC,CAAC;IAID,MAAM,CAAC,KAAK;QACV,IAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAE,MAAM,EAAC;YAC9B,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAC,IAAI,CAAC;SAC7C;;YACI,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IACpD,CAAC;IAID,MAAM,CAAC,SAAS,CAAC,IAAS;QACxB,IAAG,MAAM,CAAC,QAAQ,EAAE;YAClB,OAAO,MAAM,CAAC,QAAQ,CAAC;SACxB;QAED,MAAM,CAAC,QAAQ,GAAG,EAAE,YAAY,EAAG,KAAK,EAAE,CAAC;QAG3C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAKD,MAAM,CAAC,MAAM,CAAC,MAAa,EAAE,KAAM;QACjC,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAGhC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAG;gBAC1E,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;aAC/C;YAED,QAAQ,MAAM,EAAE;gBACd,KAAK,kBAAkB,CAAC;gBACxB,KAAK,kBAAkB,CAAC;gBACxB,KAAK,aAAa,CAAC;gBACnB,KAAK,eAAe,CAAC;gBACrB,KAAK,eAAe,CAAC;gBACrB,KAAK,QAAQ,CAAC;gBACd,KAAK,UAAU,CAAC;gBAChB,KAAK,UAAU,CAAC;gBAChB,KAAK,QAAQ,CAAC;gBACd,KAAK,WAAW;oBACd,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;oBAAA,MAAM;gBACxC,KAAK,gBAAgB,CAAC;gBACtB,KAAK,gBAAgB;oBACjB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;oBAAA,MAAM;gBACtD,KAAK,SAAS,CAAC;gBACf,KAAK,OAAO,CAAC;gBACb,KAAK,wBAAwB;oBAC3B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;oBAAA,MAAM;gBACjD,KAAK,mBAAmB;oBACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;wBACzB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;qBACxD;oBACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAC/C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBACtC;oBACD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;oBAChC,MAAM;gBACR;oBAEE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;SACF;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAAA,CAAC;CAEH;AArFD,yBAqFC;AAED,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAA;AAC5C,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEhD,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,EAAE;IAI/B,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE;QAC1B,IAAI,GAAG,GAAG,IAAI,GAAC,UAAU,GAAE,GAAG,GAAC,KAAK,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,GAAG,CAAC,CAAC;QAG5B,IAAG,IAAA,eAAU,EAAC,GAAG,CAAC,EAAC;YACjB,OAAO,GAAG,CAAC;SACZ;QACD,GAAG,GAAG,IAAI,GAAC,0BAA0B,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,GAAG,CAAC,CAAC;QAC5B,IAAG,IAAA,eAAU,EAAC,GAAG,CAAC,EAAC;YACjB,OAAO,GAAG,CAAC;SACZ;QAED,GAAG,GAAG,IAAI,GAAC,uBAAuB,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,GAAG,CAAC,CAAC;QAC5B,IAAG,IAAA,eAAU,EAAC,GAAG,CAAC,EAAC;YACjB,OAAO,GAAG,CAAC;SACZ;KACF;AAEH,CAAC,CAAA;AACD,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,QAAQ,GAAC,KAAK,EAAC,QAAQ,GAAC,IAAI,EAAC,QAAQ,GAAC,SAAS,EAAC,SAAS,EAAC,SAAS,GAAC,KAAK,CAAC,CAAC,CAAC;AAClG,IAAG,CAAC,GAAG,EAAE;IACP,MAAM,2BAA2B,CAAA;CAClC;AAID,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAC5B,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAC,GAAG,CAAC,CAAC;AACrD,QAAA,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAE,MAAM,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../lib/config.ts"],"names":[],"mappings":";;AASA,MAAqB,MAAM;IAIzB,YAAoB,IAAI;QAEtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAS,GAAG;YACpC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;IACtC,CAAC;IAID,MAAM,CAAC,KAAK;QACV,IAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAE,MAAM,EAAC;YAC9B,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAC,IAAI,CAAC;SAC7C;;YACI,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IACpD,CAAC;IAID,MAAM,CAAC,SAAS,CAAC,IAAS;QACxB,IAAG,MAAM,CAAC,QAAQ,EAAE;YAClB,OAAO,MAAM,CAAC,QAAQ,CAAC;SACxB;QAED,MAAM,CAAC,QAAQ,GAAG,EAAE,YAAY,EAAG,KAAK,EAAE,CAAC;QAG3C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAKD,MAAM,CAAC,MAAM,CAAC,MAAa,EAAE,KAAM;QACjC,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAGhC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAG;gBAC1E,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;aAC/C;YAED,QAAQ,MAAM,EAAE;gBACd,KAAK,kBAAkB,CAAC;gBACxB,KAAK,kBAAkB,CAAC;gBACxB,KAAK,aAAa,CAAC;gBACnB,KAAK,eAAe,CAAC;gBACrB,KAAK,eAAe,CAAC;gBACrB,KAAK,QAAQ,CAAC;gBACd,KAAK,UAAU,CAAC;gBAChB,KAAK,UAAU,CAAC;gBAChB,KAAK,QAAQ,CAAC;gBACd,KAAK,WAAW;oBACd,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;oBAAA,MAAM;gBACxC,KAAK,gBAAgB,CAAC;gBACtB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,gBAAgB;oBACjB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;oBAAA,MAAM;gBACtD,KAAK,SAAS,CAAC;gBACf,KAAK,OAAO,CAAC;gBACb,KAAK,wBAAwB;oBAC3B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;oBAAA,MAAM;gBACjD,KAAK,mBAAmB;oBACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;wBACzB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;qBACxD;oBACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAC/C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBACtC;oBACD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;oBAChC,MAAM;gBACR;oBAEE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;SACF;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAAA,CAAC;CAEH;AAtFD,yBAsFC"}
@@ -1,6 +1,6 @@
1
1
  import Stripe from 'stripe';
2
2
  import { Customer } from './customer';
3
- import { Address, Card } from './payments';
3
+ import { KngPaymentAddress, KngCard } from './payments';
4
4
  export type Interval = Stripe.Plan.Interval;
5
5
  export interface SubscriptionMetaItem {
6
6
  sku: string | number;
@@ -34,7 +34,7 @@ export declare enum SchedulerItemFrequency {
34
34
  RECURRENT_2WEEKS = 3,
35
35
  RECURRENT_MONTH = 4
36
36
  }
37
- export interface SubscriptionAddress extends Address {
37
+ export interface SubscriptionAddress extends KngPaymentAddress {
38
38
  price: number;
39
39
  dayOfWeek?: number;
40
40
  }
@@ -67,8 +67,8 @@ export declare class SubscriptionContract {
67
67
  updateItemsAndPrice(cardTtems: any): Promise<void>;
68
68
  pause(to: Date): Promise<void>;
69
69
  resumeManualy(): Promise<void>;
70
- updatePaymentMethod(card: Card): Promise<this>;
71
- static create(customer: Customer, card: Card, interval: Interval, start_from: any, shipping: SubscriptionAddress, cartItems: any, dayOfWeek: any, fees: any): Promise<SubscriptionContract>;
70
+ updatePaymentMethod(card: KngCard): Promise<this>;
71
+ static create(customer: Customer, card: KngCard, interval: Interval, start_from: any, shipping: SubscriptionAddress, cartItems: any, dayOfWeek: any, fees: any): Promise<SubscriptionContract>;
72
72
  static get(id: any): Promise<SubscriptionContract>;
73
73
  static list(customer: Customer): Promise<SubscriptionContract[]>;
74
74
  static listAll(options: any): Promise<SubscriptionContract[]>;
@@ -110,8 +110,8 @@ class SubscriptionContract {
110
110
  resumeManualy() {
111
111
  return __awaiter(this, void 0, void 0, function* () {
112
112
  const metadata = this._subscription.metadata;
113
- metadata.from = undefined;
114
- metadata.to = undefined;
113
+ metadata.from = null;
114
+ metadata.to = null;
115
115
  this._subscription = yield payments_1.$stripe.subscriptions.update(this._subscription.id, { pause_collection: '', metadata });
116
116
  });
117
117
  }
@@ -129,6 +129,9 @@ class SubscriptionContract {
129
129
  (0, assert_1.strict)(shipping.price);
130
130
  (0, assert_1.strict)(shipping.lat);
131
131
  (0, assert_1.strict)(shipping.lng);
132
+ if (card.issuer == "invoice") {
133
+ throw new Error("Le paiement par facture n'est pas disponible pour la souscription");
134
+ }
132
135
  for (let item of cartItems) {
133
136
  item.product = yield findOrCreateProductFromItem(item);
134
137
  }
@@ -224,6 +227,9 @@ function createItemsFromCart(cartItems, fees) {
224
227
  };
225
228
  return { metadata, quantity: item.quantity, price_data: instance };
226
229
  };
230
+ if (fees > 1) {
231
+ throw new Error("Incorrect params");
232
+ }
227
233
  const week = cartItems.filter(item => item.frequency == SchedulerItemFrequency.RECURRENT_WEEK).map(i => itemCreation(i, 'week'));
228
234
  const month = cartItems.filter(item => item.frequency == SchedulerItemFrequency.RECURRENT_MONTH).map(i => itemCreation(i, 'month'));
229
235
  return { week, month };
@@ -1 +1 @@
1
- {"version":3,"file":"contract.subscription.js","sourceRoot":"","sources":["../lib/contract.subscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.subscription.js","sourceRoot":"","sources":["../lib/contract.subscription.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import Stripe from 'stripe';
2
- import { Address, Card, CashBalance } from './payments';
2
+ import { KngPaymentAddress, KngCard, CashBalance, CreditBalance, KngPaymentSource } from './payments';
3
3
  export declare class Customer {
4
- private _available;
5
4
  private _sources;
6
5
  private _id;
7
6
  private _metadata;
8
7
  private _cashbalance;
8
+ private _balance;
9
9
  private _email;
10
10
  private _phone;
11
11
  private _fname;
@@ -15,20 +15,23 @@ export declare class Customer {
15
15
  private constructor();
16
16
  get id(): string;
17
17
  get email(): string;
18
+ get balance(): number;
18
19
  get phone(): string;
19
20
  get name(): {
20
21
  familyName: string;
21
22
  givenName: string;
22
23
  };
23
24
  get uid(): string;
24
- get addresses(): Address[];
25
+ get addresses(): KngPaymentAddress[];
25
26
  get methods(): any;
26
27
  get cashbalance(): any;
28
+ static allWithActiveCreditbalance(): Promise<void>;
29
+ static search(query: any): Promise<void>;
27
30
  static create(email: string, fname: string, lname: string, phone: string, uid: string): Promise<Customer>;
28
31
  static get(id: any): Promise<Customer>;
29
- addressAdd(address: Address): Promise<void>;
30
- addressRemove(address: Address): Promise<void>;
31
- addressUpdate(address: Address): Promise<void>;
32
+ addressAdd(address: KngPaymentAddress): Promise<void>;
33
+ addressRemove(address: KngPaymentAddress): Promise<void>;
34
+ addressUpdate(address: KngPaymentAddress): Promise<void>;
32
35
  addMethodIntent(): Promise<Stripe.Response<Stripe.SetupIntent>>;
33
36
  addMethod(token: string): Promise<{
34
37
  type: number;
@@ -43,10 +46,14 @@ export declare class Customer {
43
46
  updated: number;
44
47
  provider: string;
45
48
  }>;
46
- createCashBalance(month: string, year: string, credit?: number): Promise<CashBalance>;
49
+ checkMethods(methods: KngPaymentSource[]): Promise<void>;
50
+ allowCredit(allow: boolean): Promise<CreditBalance>;
51
+ updateCredit(amount: number): Promise<void>;
52
+ createCashBalance(month: string, year: string): Promise<CashBalance>;
47
53
  listBankTransfer(): Promise<any>;
48
54
  listMethods(): Promise<any>;
49
- removeMethod(method: Card): Promise<void>;
55
+ removeMethod(method: KngCard): Promise<void>;
56
+ allowedCredit(): boolean;
50
57
  findMethodByID(id: any): any;
51
58
  findMethodByAlias(alias: any): any;
52
59
  }
package/dist/customer.js CHANGED
@@ -15,13 +15,14 @@ const stripe_1 = require("stripe");
15
15
  const payments_1 = require("./payments");
16
16
  const config_1 = require("./config");
17
17
  class Customer {
18
- constructor(id, email, phone, cashbalance, metadata) {
18
+ constructor(id, email, phone, cashbalance, balance, metadata) {
19
19
  (0, assert_1.strict)(id);
20
20
  (0, assert_1.strict)(email);
21
21
  (0, assert_1.strict)(phone);
22
22
  (0, assert_1.strict)(metadata.uid);
23
23
  (0, assert_1.strict)(metadata.fname);
24
24
  (0, assert_1.strict)(metadata.lname);
25
+ this._balance = balance;
25
26
  this._email = email;
26
27
  this._phone = phone;
27
28
  this._fname = metadata.fname;
@@ -39,6 +40,9 @@ class Customer {
39
40
  get email() {
40
41
  return this._email;
41
42
  }
43
+ get balance() {
44
+ return this._balance / 100;
45
+ }
42
46
  get phone() {
43
47
  return this._phone;
44
48
  }
@@ -70,17 +74,32 @@ class Customer {
70
74
  }
71
75
  return this._cashbalance;
72
76
  }
77
+ static allWithActiveCreditbalance() {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ const customer = yield payments_1.$stripe.customers.search({
80
+ query: "-metadata['creditbalance']:null",
81
+ });
82
+ });
83
+ }
84
+ static search(query) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const customer = yield payments_1.$stripe.customers.search({
87
+ query: `name~'${query}' OR email~'${query}'`
88
+ });
89
+ });
90
+ }
73
91
  static create(email, fname, lname, phone, uid) {
74
92
  return __awaiter(this, void 0, void 0, function* () {
75
93
  try {
76
94
  const customer = yield payments_1.$stripe.customers.create({
77
95
  description: fname + ' ' + lname + ' id:' + uid,
78
96
  email: email,
97
+ name: fname + ' ' + lname,
79
98
  phone,
80
99
  metadata: { uid, fname, lname },
81
100
  expand: ['cash_balance']
82
101
  });
83
- return new Customer(customer.id, email, phone, customer.cash_balance, customer.metadata);
102
+ return new Customer(customer.id, email, phone, customer.cash_balance, 0, customer.metadata);
84
103
  }
85
104
  catch (err) {
86
105
  throw parseError(err);
@@ -91,7 +110,7 @@ class Customer {
91
110
  return __awaiter(this, void 0, void 0, function* () {
92
111
  try {
93
112
  const stripe = yield payments_1.$stripe.customers.retrieve(id, { expand: ['cash_balance'] });
94
- const customer = new Customer(stripe.id, stripe.email, stripe.phone, stripe.cash_balance, stripe.metadata);
113
+ const customer = new Customer(stripe.id, stripe.email, stripe.phone, stripe.cash_balance, stripe.balance, stripe.metadata);
95
114
  yield customer.listMethods();
96
115
  return customer;
97
116
  }
@@ -179,19 +198,82 @@ class Customer {
179
198
  }
180
199
  });
181
200
  }
182
- createCashBalance(month, year, credit) {
201
+ checkMethods(methods) {
202
+ return __awaiter(this, void 0, void 0, function* () {
203
+ yield this.listMethods();
204
+ for (const method of methods) {
205
+ const id = (0, payments_1.xor)(method.id);
206
+ const alias = (0, payments_1.xor)(method.alias);
207
+ if (!id || !alias) {
208
+ throw new Error("La référence de la carte n'est pas compatible avec le service de paiement");
209
+ }
210
+ if (!this.findMethodByAlias(_method => _method.alias == method.alias)) {
211
+ throw new Error("La référence de la carte n'est pas compatible avec le service de paiement");
212
+ }
213
+ }
214
+ });
215
+ }
216
+ allowCredit(allow) {
183
217
  return __awaiter(this, void 0, void 0, function* () {
184
- credit = credit || 0;
185
218
  const fingerprint = (0, payments_1.crypto_fingerprint)(this.id + this.uid + 'invoice');
186
219
  const id = (0, payments_1.crypto_randomToken)();
220
+ let creditbalance;
221
+ if (allow) {
222
+ creditbalance = {
223
+ type: payments_1.KngPayment.credit,
224
+ id: (0, payments_1.xor)(id),
225
+ alias: (fingerprint),
226
+ expiry: '12/30',
227
+ funding: 'credit',
228
+ issuer: 'invoice',
229
+ limit: config_1.default.option('allowMaxCredit')
230
+ };
231
+ this._metadata['creditbalance'] = JSON.stringify(creditbalance, null, 0);
232
+ this._metadata['allowCredit'] = fingerprint;
233
+ }
234
+ else {
235
+ this._metadata['allowCredit'] = null;
236
+ this._metadata['creditbalance'] = null;
237
+ const index = this._sources.findIndex(src => src.issuer == 'invoice');
238
+ if (index > -1) {
239
+ this._sources.splice(index, 1);
240
+ }
241
+ }
242
+ const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata });
243
+ return creditbalance;
244
+ });
245
+ }
246
+ updateCredit(amount) {
247
+ return __awaiter(this, void 0, void 0, function* () {
248
+ if ((this.balance + amount) < 0) {
249
+ if (!this.allowedCredit()) {
250
+ throw new Error("Credit must be a positive number");
251
+ }
252
+ const maxcredit = config_1.default.option('allowMaxCredit') / 100;
253
+ if ((this.balance + amount) < (-maxcredit)) {
254
+ throw new Error("Negative credit exceed limitation of " + maxcredit);
255
+ }
256
+ }
257
+ const maxamount = config_1.default.option('allowMaxAmount') / 100;
258
+ if ((this.balance + amount) > maxamount) {
259
+ throw new Error("Credit exceed limitation of " + maxamount);
260
+ }
261
+ const balance = Math.round((amount + this.balance) * 100);
262
+ const customer = yield payments_1.$stripe.customers.update(this._id, { balance });
263
+ this._balance = balance;
264
+ });
265
+ }
266
+ createCashBalance(month, year) {
267
+ return __awaiter(this, void 0, void 0, function* () {
268
+ const fingerprint = (0, payments_1.crypto_fingerprint)(this.id + this.uid + 'cash');
269
+ const id = (0, payments_1.crypto_randomToken)();
187
270
  const cashbalance = {
188
- type: payments_1.Payment.balance,
271
+ type: payments_1.KngPayment.balance,
189
272
  id: (0, payments_1.xor)(id),
190
273
  alias: (fingerprint),
191
274
  expiry: month + '/' + year,
192
- funding: credit ? 'credit' : 'debit',
193
- limit: credit,
194
- issuer: 'invoice'
275
+ funding: 'debit',
276
+ issuer: 'cash'
195
277
  };
196
278
  this._metadata['cashbalance'] = JSON.stringify(cashbalance, null, 0);
197
279
  const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata, expand: ['cash_balance'] });
@@ -224,6 +306,11 @@ class Customer {
224
306
  const cashbalance = this._metadata['cashbalance'];
225
307
  if (cashbalance) {
226
308
  const payment = JSON.parse(cashbalance);
309
+ this._sources.push(payment);
310
+ }
311
+ const creditbalance = this._metadata['creditbalance'];
312
+ if (creditbalance) {
313
+ const payment = JSON.parse(creditbalance);
227
314
  payment.limit = payment.limit ? parseFloat(payment.limit + '') : 0;
228
315
  this._sources.push(payment);
229
316
  }
@@ -237,6 +324,9 @@ class Customer {
237
324
  removeMethod(method) {
238
325
  return __awaiter(this, void 0, void 0, function* () {
239
326
  try {
327
+ if (!method || !method.id) {
328
+ throw new Error("La méthode de paiement n'est pas valide");
329
+ }
240
330
  const index = this._sources.findIndex(src => src.id == method.id);
241
331
  if (index == -1) {
242
332
  throw new Error("Source ID not found:" + method.id);
@@ -247,9 +337,14 @@ class Customer {
247
337
  });
248
338
  const payment_used = subs.data.some(sub => sub.default_payment_method = card_id);
249
339
  if (payment_used) {
250
- throw new Error("Impossible de supprimer une méthode paiement utilisée par une souscription");
340
+ throw new Error("Impossible de supprimer une méthode de paiement utilisée par une souscription");
251
341
  }
252
342
  if (this._sources[index].issuer == 'invoice') {
343
+ this._metadata['creditbalance'] = null;
344
+ this._metadata['allowCredit'] = null;
345
+ const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata });
346
+ }
347
+ if (this._sources[index].issuer == 'cash') {
253
348
  this._metadata['cashbalance'] = null;
254
349
  const customer = yield payments_1.$stripe.customers.update(this._id, { metadata: this._metadata });
255
350
  this._sources.splice(index, 1);
@@ -271,6 +366,10 @@ class Customer {
271
366
  }
272
367
  });
273
368
  }
369
+ allowedCredit() {
370
+ const fingerprint = (0, payments_1.crypto_fingerprint)(this.id + this.uid + 'invoice');
371
+ return this._metadata['allowCredit'] == fingerprint;
372
+ }
274
373
  findMethodByID(id) {
275
374
  return this._sources.find(card => card.id == id);
276
375
  }
@@ -1 +1 @@
1
- {"version":3,"file":"customer.js","sourceRoot":"","sources":["../lib/customer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"customer.js","sourceRoot":"","sources":["../lib/customer.ts"],"names":[],"mappings":"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"}