@sellout/models 0.0.62 → 0.0.64

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.
Files changed (54) hide show
  1. package/.dist/enums/OrderItemTypeEnum.d.ts +4 -0
  2. package/.dist/enums/OrderItemTypeEnum.js +10 -0
  3. package/.dist/enums/OrderItemTypeEnum.js.map +1 -0
  4. package/.dist/graphql/fragments/order.fragment.js +4 -0
  5. package/.dist/graphql/fragments/order.fragment.js.map +1 -1
  6. package/.dist/graphql/mutations/attachStripePaymentMethod.mutation.js +10 -1
  7. package/.dist/graphql/mutations/attachStripePaymentMethod.mutation.js.map +1 -1
  8. package/.dist/graphql/mutations/breakApartOrder.d.ts +2 -0
  9. package/.dist/graphql/mutations/breakApartOrder.js +43 -0
  10. package/.dist/graphql/mutations/breakApartOrder.js.map +1 -0
  11. package/.dist/graphql/mutations/register.mutation.js +2 -9
  12. package/.dist/graphql/mutations/register.mutation.js.map +1 -1
  13. package/.dist/graphql/queries/order.query.js +2 -0
  14. package/.dist/graphql/queries/order.query.js.map +1 -1
  15. package/.dist/graphql/queries/publicEvent.query.js +1 -0
  16. package/.dist/graphql/queries/publicEvent.query.js.map +1 -1
  17. package/.dist/graphql/queries/userProfile.query.js +3 -2
  18. package/.dist/graphql/queries/userProfile.query.js.map +1 -1
  19. package/.dist/interfaces/ICreateOrderParams.d.ts +1 -2
  20. package/.dist/interfaces/IOrder.d.ts +0 -2
  21. package/.dist/interfaces/IOrder.js.map +1 -1
  22. package/.dist/interfaces/IOrderTicket.d.ts +1 -0
  23. package/.dist/interfaces/IOrderTicket.js.map +1 -1
  24. package/.dist/interfaces/IOrderUpgrade.d.ts +1 -0
  25. package/.dist/interfaces/IStripeCustomer.d.ts +2 -2
  26. package/.dist/interfaces/IStripePaymentMethod.d.ts +10 -0
  27. package/.dist/interfaces/IStripePaymentMethod.js +3 -0
  28. package/.dist/interfaces/IStripePaymentMethod.js.map +1 -0
  29. package/.dist/schemas/Order.d.ts +10 -4
  30. package/.dist/schemas/Order.js +10 -4
  31. package/.dist/schemas/Order.js.map +1 -1
  32. package/.dist/sellout-proto.js +1008 -116
  33. package/.dist/utils/PaymentUtil.js +129 -26
  34. package/.dist/utils/PaymentUtil.js.map +1 -1
  35. package/package.json +4 -4
  36. package/src/enums/OrderItemTypeEnum.ts +4 -0
  37. package/src/graphql/fragments/order.fragment.ts +4 -0
  38. package/src/graphql/mutations/attachStripePaymentMethod.mutation.ts +10 -1
  39. package/src/graphql/mutations/breakApartOrder.ts +39 -0
  40. package/src/graphql/mutations/register.mutation.ts +2 -9
  41. package/src/graphql/queries/order.query.ts +2 -0
  42. package/src/graphql/queries/publicEvent.query.ts +1 -0
  43. package/src/graphql/queries/userProfile.query.ts +3 -2
  44. package/src/interfaces/ICreateOrderParams.ts +1 -2
  45. package/src/interfaces/IOrder.ts +0 -2
  46. package/src/interfaces/IOrderTicket.ts +1 -0
  47. package/src/interfaces/IOrderUpgrade.ts +1 -0
  48. package/src/interfaces/IStripeCustomer.ts +2 -2
  49. package/src/interfaces/{IStripeSource.ts → IStripePaymentMethod.ts} +2 -2
  50. package/src/proto/order.proto +21 -5
  51. package/src/proto/stripe.proto +14 -3
  52. package/src/schemas/Order.ts +10 -4
  53. package/src/utils/PaymentUtil.ts +159 -34
  54. package/src/enums/OrderDeliveryMethodEnum.ts +0 -5
@@ -2,38 +2,139 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const IFee_1 = require("../interfaces/IFee");
4
4
  const PaymentMethodTypeEnum_1 = require("../enums/PaymentMethodTypeEnum");
5
+ // interface IOrderItems {
6
+ // tickets: ICreateOrderTicketParams[];
7
+ // upgrades: ICreateOrderUpgradeParams[];
8
+ // }
5
9
  exports.default = {
10
+ // DOES NOT WORK! Work in Progress :)
11
+ // calculateOrderItemPrices(params: IPaymentCalculatorParams): IOrderItems {
12
+ // let {
13
+ // tickets = [],
14
+ // upgrades = [],
15
+ // fees = [],
16
+ // paymentMethodType,
17
+ // } = params;
18
+ // // Filter fees
19
+ // fees = fees.filter((fee: IFee) => {
20
+ // // Ignore card reader fees for non card reader payemnts
21
+ // if (fee.filters && fee.filters.includes(FeeFiltersEnum.CardReader) && paymentMethodType !== PaymentMethodTypeEnum.CardReader) {
22
+ // return false;
23
+ // }
24
+ // // Ignore card entry fees for non card entry payemnts
25
+ // if (fee.filters && fee.filters.includes(FeeFiltersEnum.CardEntry) && paymentMethodType !== PaymentMethodTypeEnum.CardEntry) {
26
+ // return false;
27
+ // }
28
+ // return true;
29
+ // });
30
+ // const ticketFees = fees.filter(f => f.appliedTo === FeeAppliedToEnum.Ticket)
31
+ // .sort(({ type }) => {
32
+ // if (type === FeeTypeEnum.Flat) return -1;
33
+ // else return 1;
34
+ // });
35
+ // const upgradeFees = fees.filter(f => f.appliedTo === FeeAppliedToEnum.Upgrade);
36
+ // // Orders mattes here. Flat type fees must be applied before Percent type fees
37
+ // const orderFees = fees.filter(f => f.appliedTo === FeeAppliedToEnum.Order)
38
+ // .sort(({ type }) => {
39
+ // if (type === FeeTypeEnum.Percent) return -1;
40
+ // else return 1;
41
+ // })
42
+ // .map(fee => {
43
+ // if(fee.type === FeeTypeEnum.Flat) {
44
+ // return {
45
+ // ...fee,
46
+ // value: fee.value / tickets.length,
47
+ // }
48
+ // }
49
+ // else return fee;
50
+ // });
51
+ // const reverseApplyFee = (price: number, ticket: ICreateOrderTicketParams, fee: IFee): number => {
52
+ // // Ignore seated fees
53
+ // if (fee.filters && fee.filters.includes(FeeFiltersEnum.Seated) && !ticket.seat) {
54
+ // return price;
55
+ // }
56
+ // const minFee = fee.minAppliedToPrice || 0;
57
+ // const maxFee = fee.maxAppliedToPrice || Infinity;
58
+ // if (minFee <= price && price <= maxFee) {
59
+ // console.log(fee);
60
+ // if (fee.type === FeeTypeEnum.Flat) {
61
+ // return price - fee.value;
62
+ // } if (fee.type === FeeTypeEnum.Percent) {
63
+ // return price * (1 - fee.value / 100);
64
+ // }
65
+ // }
66
+ // // if(fee.type === FeeTypeEnum.Percent) {
67
+ // // return price * (1 - fee.value / 100);
68
+ // // }
69
+ // // if(fee.type === FeeTypeEnum.Flat) {
70
+ // // return price - fee.value;
71
+ // // }
72
+ // return price;
73
+ // }
74
+ // function calculateTicketPrice(ticket: ICreateOrderTicketParams): number {
75
+ // if(!ticket.rollFees) return ticket.price;
76
+ // const allFees = [...orderFees, ...ticketFees];
77
+ // return allFees.reduce((cur, fee) => {
78
+ // const next = reverseApplyFee(cur, ticket, fee);
79
+ // return next;
80
+ // }, ticket.price);
81
+ // }
82
+ // tickets = tickets.map((ticket: ICreateOrderTicketParams): ICreateOrderTicketParams => {
83
+ // const price = Math.floor(calculateTicketPrice(ticket));
84
+ // console.log(`Ticket Price: `, price);
85
+ // return {
86
+ // ...ticket,
87
+ // price,
88
+ // }
89
+ // });
90
+ // // upgrades = upgrades.map((upgrade: ICreateOrderUpgradeParams): ICreateOrderUpgradeParams => {
91
+ // // return {
92
+ // // ...upgrade,
93
+ // // price: calculateUpgradePrice(upgrade),
94
+ // // }
95
+ // // });
96
+ // return {
97
+ // tickets,
98
+ // upgrades,
99
+ // };
100
+ // },
6
101
  calculateTotal(params) {
7
- const { tickets = [], upgrades = [], fees = [], paymentMethodType, } = params;
8
- console.log(fees);
102
+ let { tickets = [], upgrades = [], fees = [], paymentMethodType, } = params;
9
103
  // No items, total is always 0
10
104
  if (!tickets.length && !upgrades.length)
11
105
  return 0;
12
- const ticketFees = fees.filter(f => f.appliedTo === IFee_1.FeeAppliedToEnum.Ticket);
106
+ // Filter fees
107
+ fees = fees.filter((fee) => {
108
+ // Ignore card reader fees for non card reader payemnts
109
+ if (fee.filters && fee.filters.includes(IFee_1.FeeFiltersEnum.CardReader) && paymentMethodType !== PaymentMethodTypeEnum_1.PaymentMethodTypeEnum.CardReader) {
110
+ return false;
111
+ }
112
+ // Ignore card entry fees for non card entry payemnts
113
+ if (fee.filters && fee.filters.includes(IFee_1.FeeFiltersEnum.CardEntry) && paymentMethodType !== PaymentMethodTypeEnum_1.PaymentMethodTypeEnum.CardEntry) {
114
+ return false;
115
+ }
116
+ return true;
117
+ });
118
+ const ticketFees = fees.filter(f => f.appliedTo === IFee_1.FeeAppliedToEnum.Ticket)
119
+ .sort(({ type }) => {
120
+ if (type === IFee_1.FeeTypeEnum.Flat)
121
+ return -1;
122
+ else
123
+ return 1;
124
+ });
13
125
  const upgradeFees = fees.filter(f => f.appliedTo === IFee_1.FeeAppliedToEnum.Upgrade);
14
126
  // Orders mattes here. Flat type fees must be applied before Percent type fees
15
127
  const orderFees = fees.filter(f => f.appliedTo === IFee_1.FeeAppliedToEnum.Order).sort(({ type }) => {
16
128
  if (type === 'Flat')
17
129
  return -1;
18
- return 1;
130
+ else
131
+ return 1;
19
132
  });
20
133
  function applyTicketFee(ticket, fee) {
21
- // // Ignore rolled fees
22
- // if (ticket.rollFees) {
23
- // return 0;
24
- // }
25
- // Ignore seated fees
134
+ // Ignore seated fees if not seated
26
135
  if (fee.filters && fee.filters.includes(IFee_1.FeeFiltersEnum.Seated) && !ticket.seat) {
27
136
  return 0;
28
137
  }
29
- // Ignore card reader fees for non card reader payemnts
30
- if (fee.filters && fee.filters.includes(IFee_1.FeeFiltersEnum.CardReader) && paymentMethodType !== PaymentMethodTypeEnum_1.PaymentMethodTypeEnum.CardReader) {
31
- return 0;
32
- }
33
- // Ignore card entry fees for non card entry payemnts
34
- if (fee.filters && fee.filters.includes(IFee_1.FeeFiltersEnum.CardEntry) && paymentMethodType !== PaymentMethodTypeEnum_1.PaymentMethodTypeEnum.CardEntry) {
35
- return 0;
36
- }
37
138
  const minFee = fee.minAppliedToPrice || 0;
38
139
  const maxFee = fee.maxAppliedToPrice || Infinity;
39
140
  if (minFee <= ticket.price && ticket.price <= maxFee) {
@@ -50,18 +151,14 @@ exports.default = {
50
151
  return 0;
51
152
  }
52
153
  function applyUpgradeFee(upgrade, fee) {
53
- // // Ignore rolled fees
54
- // if (upgrade.rollFees) {
55
- // return 0;
56
- // }
57
154
  const minFee = fee.minAppliedToPrice || 0;
58
155
  const maxFee = fee.maxAppliedToPrice || Infinity;
59
156
  if (minFee <= upgrade.price && upgrade.price <= maxFee) {
60
157
  if (fee.type === IFee_1.FeeTypeEnum.Flat) {
61
- return fee.value;
158
+ return upgrade.price + fee.value;
62
159
  }
63
160
  if (fee.type === IFee_1.FeeTypeEnum.Percent) {
64
- return (upgrade.price * fee.value / 100);
161
+ return (upgrade.price / (1 - fee.value / 100));
65
162
  }
66
163
  }
67
164
  else {
@@ -79,17 +176,23 @@ exports.default = {
79
176
  }
80
177
  const ticketTotal = tickets.reduce((cur, ticket) => cur + ticket.price, 0);
81
178
  const ticketFeeTotal = tickets.reduce((cur, ticket) => {
82
- return cur + ticketFees.reduce((cur, fee) => cur + applyTicketFee(ticket, fee), 0);
179
+ return cur + ticketFees.reduce((cur, fee) => {
180
+ const value = cur + applyTicketFee(ticket, fee);
181
+ // console.log(`${fee.name}: ${value}`);
182
+ return value;
183
+ }, 0);
83
184
  }, 0);
84
185
  const upgradeTotal = upgrades.reduce((cur, upgrade) => cur + upgrade.price, 0);
85
186
  const upgradeFeeTotal = upgrades.reduce((cur, upgrade) => {
86
187
  return cur + upgradeFees.reduce((cur, fee) => cur + applyUpgradeFee(upgrade, fee), 0);
87
188
  }, 0);
88
- const orderSubtotal = ticketTotal + ticketFeeTotal + upgradeTotal + upgradeFeeTotal;
189
+ const orderSubtotal = Math.round(ticketTotal + ticketFeeTotal + upgradeTotal + upgradeFeeTotal);
190
+ // console.log(`Order SubTotal:`, orderSubtotal);
89
191
  const orderTotal = orderFees.reduce((cur, fee) => {
90
192
  return applyOrderFee(cur, fee);
91
193
  }, orderSubtotal);
92
- return Math.round(orderTotal);
194
+ // console.log(`Order Total`, orderTotal);
195
+ return orderTotal;
93
196
  }
94
197
  };
95
198
  //# sourceMappingURL=PaymentUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentUtil.js","sourceRoot":"","sources":["../../src/utils/PaymentUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaymentUtil.js","sourceRoot":"","sources":["../../src/utils/PaymentUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellout/models",
3
- "version": "0.0.62",
3
+ "version": "0.0.64",
4
4
  "description": "Sellout.io models",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -16,8 +16,8 @@
16
16
  "author": "samheutmaker@gmail.com",
17
17
  "license": "MIT",
18
18
  "dependencies": {
19
- "@sellout/service": "^0.0.62",
20
- "@sellout/utils": "^0.0.62",
19
+ "@sellout/service": "^0.0.64",
20
+ "@sellout/utils": "^0.0.64",
21
21
  "@types/shortid": "0.0.29",
22
22
  "apollo-link-debounce": "^2.1.0",
23
23
  "graphql": "^14.6.0",
@@ -30,5 +30,5 @@
30
30
  "protobufjs": "~6.10.1",
31
31
  "typescript": "^3.8.3"
32
32
  },
33
- "gitHead": "ef82386b2ae4a2bdcb987b3a2cc6fbe951d05cef"
33
+ "gitHead": "33349f3d3da7633d43b091f233c5de22b6df6ee1"
34
34
  }
@@ -0,0 +1,4 @@
1
+ export enum OrderItemTypeEnum {
2
+ Upgrade = 'Upgrade',
3
+ Ticket = 'Ticket',
4
+ };
@@ -28,6 +28,8 @@ Order.fragments = {
28
28
  ticketTierId
29
29
  price
30
30
  seat
31
+ qrCodeUrl
32
+ state
31
33
  refund {
32
34
  refunded
33
35
  refundedAt
@@ -49,6 +51,8 @@ Order.fragments = {
49
51
  name
50
52
  upgradeId
51
53
  price
54
+ qrCodeUrl
55
+ state
52
56
  refund {
53
57
  refunded
54
58
  refundedAt
@@ -2,7 +2,16 @@ import gql from 'graphql-tag';
2
2
 
3
3
  const mutation = gql`
4
4
  mutation attachStripePaymentMethod($paymentMethodId: String!) {
5
- attachStripePaymentMethod(paymentMethodId: $paymentMethodId)
5
+ attachStripePaymentMethod(paymentMethodId: $paymentMethodId) {
6
+ paymentMethodId
7
+ brand
8
+ last4
9
+ expMonth
10
+ expYear
11
+ funding
12
+ country
13
+ type
14
+ }
6
15
  }
7
16
  `;
8
17
 
@@ -0,0 +1,39 @@
1
+ import gql from "graphql-tag";
2
+ import Order from '../fragments/order.fragment';
3
+
4
+ const mutation = gql`
5
+ mutation breakApartOrder($orderId: String!) {
6
+ breakApartOrder(orderId: $orderId) {
7
+ _id
8
+ event {
9
+ _id
10
+ name
11
+ subtitle
12
+ performances {
13
+ schedule {
14
+ doorsAt
15
+ startsAt
16
+ }
17
+ }
18
+ venue {
19
+ name
20
+ address {
21
+ state
22
+ city
23
+ }
24
+ }
25
+ organization {
26
+ orgName
27
+ }
28
+ }
29
+ state
30
+ type
31
+ ...OrderTickets
32
+ ...OrderUpgrades
33
+ }
34
+ }
35
+ ${Order.fragments.tickets}
36
+ ${Order.fragments.upgrades}
37
+ `;
38
+
39
+ export default mutation;
@@ -3,15 +3,8 @@ import gql from 'graphql-tag';
3
3
  const mutation = gql`
4
4
  mutation Register($user: UserInput!) {
5
5
  register(user: $user) {
6
- user {
7
- _id
8
- firstName
9
- lastName
10
- email
11
- phoneNumber
12
- createdAt
13
- }
14
- token
6
+ registered
7
+ emailVerified
15
8
  }
16
9
  }
17
10
  `;
@@ -18,7 +18,9 @@ const query = gql`
18
18
  orgId
19
19
  eventId
20
20
  event {
21
+ _id
21
22
  name
23
+ subtitle
22
24
  posterImageUrl
23
25
  sendQRCode
24
26
  performances {
@@ -21,6 +21,7 @@ const query = gql`
21
21
  sendQRCode
22
22
  organization {
23
23
  orgName
24
+ stripeId
24
25
  }
25
26
  venue {
26
27
  name
@@ -4,6 +4,7 @@ const query = gql`
4
4
  query userProfile {
5
5
  userProfile {
6
6
  user {
7
+ _id
7
8
  firstName
8
9
  lastName
9
10
  phoneNumber
@@ -11,8 +12,8 @@ const query = gql`
11
12
  }
12
13
  stripeCustomerId
13
14
  stripeCustomer {
14
- sources {
15
- sourceId
15
+ paymentMethods {
16
+ paymentMethodId
16
17
  brand
17
18
  last4
18
19
  expMonth
@@ -1,6 +1,5 @@
1
1
  import IOrderCustomField from "../interfaces/IOrderCustomField";
2
2
  import { OrderTypeEnum } from "../interfaces/IOrderType";
3
- import { OrderDeliveryMethodEnum } from "../enums/OrderDeliveryMethodEnum";
4
3
  import { PaymentMethodTypeEnum } from '../enums/PaymentMethodTypeEnum';
5
4
 
6
5
  export default interface ICreateOrderParams {
@@ -12,8 +11,8 @@ export default interface ICreateOrderParams {
12
11
  type: OrderTypeEnum;
13
12
  promotionCode: string;
14
13
  customFields: IOrderCustomField[];
15
- deliveryMethod: OrderDeliveryMethodEnum;
16
14
  paymentMethodType: PaymentMethodTypeEnum;
15
+ paymentMethodId: string;
17
16
  holdToken?: string;
18
17
  }
19
18
 
@@ -5,7 +5,6 @@ import IOrderUpgrade from './IOrderUpgrade';
5
5
  import IOrderCustomField from './IOrderCustomField'
6
6
  import { OrderStateEnum } from './IOrderState';
7
7
  import { OrderTypeEnum } from './IOrderType';
8
- import { OrderDeliveryMethodEnum } from "../enums/OrderDeliveryMethodEnum";
9
8
 
10
9
  export default interface IOrder {
11
10
  _id?: string;
@@ -33,5 +32,4 @@ export default interface IOrder {
33
32
  customFields?: IOrderCustomField[];
34
33
  refundReason?: string; // BACKFILL
35
34
  payments: IPayment[];
36
- deliveryMethod: OrderDeliveryMethodEnum,
37
35
  };
@@ -14,4 +14,5 @@ export default interface IOrderTicket {
14
14
  refund: IRefund;
15
15
  scan: IScan;
16
16
  state: OrderItemStateEnum;
17
+ qrCodeUrl?: string;
17
18
  };
@@ -12,4 +12,5 @@ export default interface IOrderUpgrade {
12
12
  refund: IRefund;
13
13
  scan: IScan;
14
14
  state: OrderItemStateEnum;
15
+ qrCodeUrl?: string;
15
16
  }
@@ -1,7 +1,7 @@
1
- import IStripeSource from './IStripeSource';
1
+ import IStripePaymentMethod from './IStripePaymentMethod';
2
2
 
3
3
  export default interface IStripeCustomer {
4
4
  stripeCustomerId: string;
5
5
  email: string;
6
- sources: IStripeSource[];
6
+ paymentMethods: IStripePaymentMethod[];
7
7
  }
@@ -1,5 +1,5 @@
1
- export default interface IStripeSource {
2
- sourceId: string;
1
+ export default interface IStripePaymentMethod {
2
+ paymentMethodId: string;
3
3
  brand: string;
4
4
  last4: string;
5
5
  expMonth: string;
@@ -32,7 +32,6 @@ message Order {
32
32
  repeated OrderCustomField customFields = 21;
33
33
  string refundReason = 22;
34
34
  repeated Payment payments = 23;
35
- string deliveryMethod = 24;
36
35
  }
37
36
 
38
37
  message OrderTicket {
@@ -47,6 +46,7 @@ message OrderTicket {
47
46
  Refund refund = 8;
48
47
  Scan scan = 9;
49
48
  string state = 10;
49
+ string qrCodeUrl = 11;
50
50
  }
51
51
 
52
52
  message OrderUpgrade {
@@ -59,6 +59,7 @@ message OrderUpgrade {
59
59
  Refund refund = 6;
60
60
  Scan scan = 7;
61
61
  string state = 8;
62
+ string qrCodeUrl = 9;
62
63
  }
63
64
 
64
65
  message Scan {
@@ -108,10 +109,9 @@ message CreateOrderParams {
108
109
  string type = 5;
109
110
  string promotionCode = 6;
110
111
  repeated OrderCustomField customFields = 7;
111
- string deliveryMethod = 8;
112
- string paymentMethodType = 9;
113
- string holdToken = 10;
114
- string ipAddress = 11;
112
+ string paymentMethodType = 8;
113
+ string holdToken = 9;
114
+ string ipAddress = 10;
115
115
  }
116
116
 
117
117
  message CreateOrderTicketParams {
@@ -327,6 +327,21 @@ message QueryOrderAnalyticsResponse {
327
327
  repeated Analytics analytics = 2;
328
328
  }
329
329
 
330
+ /****************************************************************************************
331
+ Break Apart Order
332
+ ****************************************************************************************/
333
+
334
+ message BreakApartOrderRequest {
335
+ string spanContext = 0;
336
+ string orderId = 1;
337
+ }
338
+
339
+ message BreakApartOrderResponse {
340
+ StatusCode status = 0;
341
+ repeated Error errors = 1;
342
+ Order order = 2;
343
+ }
344
+
330
345
  service OrderService {
331
346
  // Create
332
347
  rpc createOrder(CreateOrderRequest) returns (CreateOrderResponse) {}
@@ -335,6 +350,7 @@ service OrderService {
335
350
  rpc sendOrderReceiptEmail(SendOrderReceiptEmailRequest) returns (SendOrderReceiptEmailResponse) {}
336
351
  rpc sendOrderRefundEmail(SendOrderRefundEmailRequest) returns (SendOrderRefundEmailResponse) {}
337
352
  rpc scanOrder(ScanOrderRequest) returns (ScanOrderResponse) {}
353
+ rpc breakApartOrder(BreakApartOrderRequest) returns (BreakApartOrderResponse) {}
338
354
  // Refund
339
355
  rpc refundOrder(RefundOrderRequest) returns (RefundOrderResponse) {}
340
356
  rpc refundEventOrders(RefundEventOrdersRequest) returns (RefundEventOrdersResponse) {}
@@ -22,7 +22,7 @@ message StripeCharge {
22
22
  message StripeCustomer {
23
23
  string stripeCustomerId = 0;
24
24
  string email = 1;
25
- repeated StripeSource sources = 2;
25
+ repeated StripePaymentMethod paymentMethods = 2;
26
26
  }
27
27
 
28
28
  message StripeSource {
@@ -36,6 +36,17 @@ message StripeSource {
36
36
  string type = 7;
37
37
  }
38
38
 
39
+ message StripePaymentMethod {
40
+ string paymentMethodId = 0;
41
+ string brand = 1;
42
+ string last4 = 2;
43
+ string expMonth = 3;
44
+ string expYear = 4;
45
+ string funding = 5;
46
+ string country = 6;
47
+ string type = 7;
48
+ }
49
+
39
50
  /***************************************************************************************
40
51
  Connect Account
41
52
  ****************************************************************************************/
@@ -122,7 +133,6 @@ message RetrieveStripeChargeResponse {
122
133
  message CreateStripeCustomerRequest {
123
134
  string spanContext = 0;
124
135
  string userId = 1;
125
- string stripeToken = 2;
126
136
  }
127
137
 
128
138
  message CreateStripeCustomerResponse {
@@ -189,7 +199,7 @@ message AttachStripePaymentMethodRequest {
189
199
  message AttachStripePaymentMethodResponse {
190
200
  StatusCode status = 0;
191
201
  repeated Error errors = 1;
192
- bool success = 2;
202
+ StripePaymentMethod paymentMethod = 2;
193
203
  }
194
204
 
195
205
  /***************************************************************************************
@@ -210,6 +220,7 @@ message CreateStripePaymentIntentRequest {
210
220
  int32 feeAmount = 5;
211
221
  string description = 6;
212
222
  string currency = 7;
223
+ string paymentMethodId = 8;
213
224
  }
214
225
 
215
226
  message CreateStripePaymentIntentResponse {
@@ -82,6 +82,11 @@ const OrderTicket = {
82
82
  type: String,
83
83
  required: true,
84
84
  },
85
+ qrCodeUrl: {
86
+ type: String,
87
+ required: false,
88
+ default: null,
89
+ },
85
90
  };
86
91
 
87
92
  const OrderUpgrade = {
@@ -118,6 +123,11 @@ const OrderUpgrade = {
118
123
  type: String,
119
124
  required: true,
120
125
  },
126
+ qrCodeUrl: {
127
+ type: String,
128
+ required: false,
129
+ default: null,
130
+ },
121
131
  };
122
132
 
123
133
  const OrderCustomField = {
@@ -280,10 +290,6 @@ export default {
280
290
  type: String,
281
291
  required: true,
282
292
  },
283
- deliveryMethod: {
284
- type: String,
285
- required: true,
286
- },
287
293
  address: Address,
288
294
  customFields: [OrderCustomField],
289
295
  payments: [Payment],