@unchainedshop/plugins 2.7.6 → 2.8.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.
@@ -97,6 +97,9 @@ const Payrexx = {
97
97
  orderPaymentId: order.paymentId,
98
98
  });
99
99
  const gatewayObject = await api.getGateway(gatewayId);
100
+ if (!gatewayObject) {
101
+ throw new Error('Could not load gateway from the Payrexx API');
102
+ }
100
103
  const pricing = await modules.orders.pricingSheet(order);
101
104
  const { currency, amount } = pricing.total({ useNetPrice: false });
102
105
  if (gatewayObject.currency !== currency.toUpperCase() ||
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/payment/payrexx/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/payment/payrexx/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,gBAAgB,EAAE,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,cAAc,iBAAiB,CAAC;AAEhC,MAAM,MAAM,GAAG,YAAY,CAAC,gCAAgC,CAAC,CAAC;AAE9D,MAAM,OAAO,GAAoB;IAC/B,GAAG,cAAc;IAEjB,GAAG,EAAE,gCAAgC;IACrC,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,OAAO;IAEhB,aAAa,CAAC,IAAI;QAChB,OAAO,IAAI,KAAK,SAAS,CAAC;IAC5B,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;QAEnC,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,EAAE,KAAK,CAAC;QAChE,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAExE,MAAM,cAAc,GAAG;YACrB,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;YAEjC,kBAAkB;gBAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;oBAChC,OAAO,YAAY,CAAC,wBAAwB,CAAC;gBAC/C,CAAC;gBACD,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;oBACnB,OAAO,YAAY,CAAC,wBAAwB,CAAC;gBAC/C,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,cAAc,CAAC,kBAAkB,EAAE,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC;gBAC9D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,iBAAiB;gBACf,OAAO,KAAK,CAAC;YACf,CAAC;YAED,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YAED,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,EAAE,KAAK,EAAE,kBAAkB,GAAG,EAAE,EAAE,EAAE;gBACtC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC;gBACtD,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACzD,MAAM,aAAa,GAAG,2BAA2B,CAC/C,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAChC,kBAAkB,CACnB,CAAC;oBACF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;oBACvD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;gBAED,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YAED,KAAK,CAAC,OAAO;gBACX,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC;gBAC/C,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC;gBAEvC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAE1D,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IACE,aAAa,CAAC,MAAM,KAAK,mBAAmB,CAAC,UAAU;oBACvD,aAAa,CAAC,MAAM,KAAK,mBAAmB,CAAC,QAAQ,EACrD,CAAC;oBACD,MAAM,eAAe,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;oBAC3F,MAAM,OAAO,CAAC,GAAG,CACf,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CACxC,GAAG,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAC3E,CACF,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,KAAK,CAAC,MAAM;gBACV,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC;gBAC/C,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC;gBACvC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAE1D,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,aAAa,CAAC,MAAM,KAAK,mBAAmB,CAAC,QAAQ,EAAE,CAAC;oBAC1D,MAAM,eAAe,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;oBAC3F,MAAM,OAAO,CAAC,GAAG,CACf,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAClF,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE;gBAClD,IAAI,CAAC,SAAS,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBACzE,CAAC;gBAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC;gBACxC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;oBAClE,cAAc,EAAE,KAAK,CAAC,SAAS;iBAChC,CAAC,CAAC;gBAEH,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAEtD,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACjE,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;gBAEnE,IACE,aAAa,CAAC,QAAQ,KAAK,QAAQ,CAAC,WAAW,EAAE;oBACjD,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAC3C,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC7E,CAAC;gBACD,IAAI,aAAa,CAAC,WAAW,KAAK,YAAY,EAAE,GAAG,EAAE,CAAC;oBACpD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;gBAC/E,CAAC;gBAED,QAAQ,aAAa,CAAC,MAAM,EAAE,CAAC;oBAC7B,KAAK,mBAAmB,CAAC,OAAO;wBAC9B,MAAM,CAAC,OAAO,CAAC,6CAA6C,EAAE;4BAC5D,cAAc,EAAE,aAAa,CAAC,WAAW;yBAC1C,CAAC,CAAC;wBACH,OAAO,KAAK,CAAC;oBACf,KAAK,mBAAmB,CAAC,UAAU,CAAC;oBACpC,KAAK,mBAAmB,CAAC,QAAQ,CAAC;oBAClC,KAAK,mBAAmB,CAAC,SAAS;wBAChC,8EAA8E;wBAC9E,MAAM,CAAC,OAAO,CAAC,8BAA8B,aAAa,CAAC,MAAM,EAAE,EAAE;4BACnE,cAAc,EAAE,aAAa,CAAC,WAAW;yBAC1C,CAAC,CAAC;wBACH,OAAO;4BACL,aAAa,EAAE,SAAS;4BACxB,aAAa;yBACd,CAAC;oBACJ;wBACE,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE;4BACpC,cAAc,EAAE,aAAa,CAAC,WAAW;4BACzC,MAAM,EAAE,aAAa,CAAC,MAAM;yBAC7B,CAAC,CAAC;wBACH,MAAM,IAAI,KAAK,CAAC,kBAAkB,aAAa,CAAC,MAAM,0BAA0B,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC;SACF,CAAC;QAEF,OAAO,cAAc,CAAC;IACxB,CAAC;CACF,CAAC;AAEF,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC"}
@@ -9,16 +9,16 @@ export const payrexxHandler = async (request, response) => {
9
9
  type: Object.keys(request.body).join(','),
10
10
  });
11
11
  response.writeHead(200);
12
- response.end({
12
+ response.end(JSON.stringify({
13
13
  ignored: true,
14
14
  message: `Unhandled event type: ${Object.keys(request.body).join(',')}. Supported type: transaction`,
15
- });
15
+ }));
16
16
  }
17
17
  logger.verbose(`Processing event`, {
18
18
  transactionId: transaction.id,
19
19
  });
20
20
  try {
21
- const { referenceId: orderPaymentId } = transaction;
21
+ const { referenceId: orderPaymentId, invoice } = transaction;
22
22
  logger.verbose(`checkout with orderPaymentId: ${orderPaymentId}`);
23
23
  await modules.orders.payments.logEvent(orderPaymentId, {
24
24
  transactionId: transaction.id,
@@ -31,7 +31,7 @@ export const payrexxHandler = async (request, response) => {
31
31
  }
32
32
  const order = await modules.orders.checkout(orderPayment.orderId, {
33
33
  paymentContext: {
34
- transactionId: transaction.id,
34
+ gatewayId: invoice.paymentRequestId,
35
35
  },
36
36
  }, resolvedContext);
37
37
  logger.info(`checkout successful`, {
@@ -39,10 +39,10 @@ export const payrexxHandler = async (request, response) => {
39
39
  orderId: order._id,
40
40
  });
41
41
  response.writeHead(200);
42
- response.end({
42
+ response.end(JSON.stringify({
43
43
  message: 'checkout successful',
44
44
  orderId: order._id,
45
- });
45
+ }));
46
46
  }
47
47
  catch (error) {
48
48
  logger.error(error, {
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/payment/payrexx/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,wCAAwC,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACxD,MAAM,eAAe,GAAG,OAAO,CAAC,gBAA2B,CAAC;IAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IAEpC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAErC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SAC1C,CAAC,CAAC;QACH,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,CAAC;YACX,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,yBAAyB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,+BAA+B;SACrG,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,aAAa,EAAE,WAAW,CAAC,EAAE;KAC9B,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC;QAEpD,MAAM,CAAC,OAAO,CAAC,iCAAiC,cAAc,EAAE,CAAC,CAAC;QAClE,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE;YACrD,aAAa,EAAE,WAAW,CAAC,EAAE;SAC9B,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAClE,cAAc;SACf,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,cAAc,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CACzC,YAAY,CAAC,OAAO,EACpB;YACE,cAAc,EAAE;gBACd,aAAa,EAAE,WAAW,CAAC,EAAE;aAC9B;SACF,EACD,eAAe,CAChB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACjC,cAAc;YACd,OAAO,EAAE,KAAK,CAAC,GAAG;SACnB,CAAC,CAAC;QACH,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,CAAC;YACX,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,KAAK,CAAC,GAAG;SACnB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;YAClB,aAAa,EAAE,WAAW,CAAC,EAAE;SAC9B,CAAC,CAAC;QACH,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/payment/payrexx/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,wCAAwC,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACxD,MAAM,eAAe,GAAG,OAAO,CAAC,gBAA2B,CAAC;IAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IAEpC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAErC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SAC1C,CAAC,CAAC;QACH,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,CACV,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,yBAAyB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,+BAA+B;SACrG,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;QACjC,aAAa,EAAE,WAAW,CAAC,EAAE;KAC9B,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAC7D,MAAM,CAAC,OAAO,CAAC,iCAAiC,cAAc,EAAE,CAAC,CAAC;QAClE,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE;YACrD,aAAa,EAAE,WAAW,CAAC,EAAE;SAC9B,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAClE,cAAc;SACf,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,cAAc,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CACzC,YAAY,CAAC,OAAO,EACpB;YACE,cAAc,EAAE;gBACd,SAAS,EAAE,OAAO,CAAC,gBAAgB;aACpC;SACF,EACD,eAAe,CAChB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACjC,cAAc;YACd,OAAO,EAAE,KAAK,CAAC,GAAG;SACnB,CAAC,CAAC;QACH,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,CACV,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,KAAK,CAAC,GAAG;SACnB,CAAC,CACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE;YAClB,aAAa,EAAE,WAAW,CAAC,EAAE;SAC9B,CAAC,CAAC;QACH,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC"}
@@ -12,5 +12,4 @@ export declare const mapOrderDataToGatewayObject: ({ order, orderPayment, pricin
12
12
  failedRedirectUrl: string;
13
13
  cancelRedirectUrl: string;
14
14
  referenceId: any;
15
- 'fields[email]': any;
16
15
  };
@@ -1,17 +1,28 @@
1
1
  export const mapOrderDataToGatewayObject = ({ order, orderPayment, pricing }, options = {}) => {
2
2
  const { EMAIL_WEBSITE_NAME = 'Unchained', EMAIL_WEBSITE_URL, DATATRANS_SUCCESS_PATH = '/payrexx/success', DATATRANS_ERROR_PATH = '/payrexx/error', DATATRANS_CANCEL_PATH = '/payrexx/cancel', } = process.env;
3
3
  const { currency, amount } = pricing.total({ useNetPrice: false });
4
+ const customerData = {};
5
+ if (order.contact?.emailAddress) {
6
+ customerData['fields[email][value]'] = order.contact?.emailAddress;
7
+ }
8
+ if (order.billingAddress?.firstName) {
9
+ customerData['fields[forename][value]'] = order.billingAddress?.firstName;
10
+ }
11
+ if (order.billingAddress?.lastName) {
12
+ customerData['fields[surname][value]'] = order.billingAddress?.lastName;
13
+ }
4
14
  const gatewayObject = {
5
15
  amount: Math.round(amount),
6
16
  currency: currency.toUpperCase(),
7
17
  purpose: encodeURIComponent(`${EMAIL_WEBSITE_NAME} #${order._id}`),
18
+ // preAuthorization: true -> tokenization!
8
19
  reservation: true,
9
20
  skipResultPage: true,
10
21
  successRedirectUrl: `${EMAIL_WEBSITE_URL}${DATATRANS_SUCCESS_PATH}`,
11
22
  failedRedirectUrl: `${EMAIL_WEBSITE_URL}${DATATRANS_ERROR_PATH}`,
12
23
  cancelRedirectUrl: `${EMAIL_WEBSITE_URL}${DATATRANS_CANCEL_PATH}`,
13
24
  referenceId: orderPayment._id,
14
- 'fields[email]': order.contact?.emailAddress,
25
+ ...customerData,
15
26
  ...options,
16
27
  };
17
28
  return gatewayObject;
@@ -1 +1 @@
1
- {"version":3,"file":"payrexx.js","sourceRoot":"","sources":["../../../src/payment/payrexx/payrexx.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;IAC5F,MAAM,EACJ,kBAAkB,GAAG,WAAW,EAChC,iBAAiB,EACjB,sBAAsB,GAAG,kBAAkB,EAC3C,oBAAoB,GAAG,gBAAgB,EACvC,qBAAqB,GAAG,iBAAiB,GAC1C,GAAG,OAAO,CAAC,GAAG,CAAC;IAEhB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG;QACpB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1B,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;QAChC,OAAO,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;QAClE,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,GAAG,iBAAiB,GAAG,sBAAsB,EAAE;QACnE,iBAAiB,EAAE,GAAG,iBAAiB,GAAG,oBAAoB,EAAE;QAChE,iBAAiB,EAAE,GAAG,iBAAiB,GAAG,qBAAqB,EAAE;QACjE,WAAW,EAAE,YAAY,CAAC,GAAG;QAC7B,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY;QAC5C,GAAG,OAAO;KACX,CAAC;IACF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"payrexx.js","sourceRoot":"","sources":["../../../src/payment/payrexx/payrexx.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;IAC5F,MAAM,EACJ,kBAAkB,GAAG,WAAW,EAChC,iBAAiB,EACjB,sBAAsB,GAAG,kBAAkB,EAC3C,oBAAoB,GAAG,gBAAgB,EACvC,qBAAqB,GAAG,iBAAiB,GAC1C,GAAG,OAAO,CAAC,GAAG,CAAC;IAEhB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;QAChC,YAAY,CAAC,sBAAsB,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC;IACrE,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC;QACpC,YAAY,CAAC,yBAAyB,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC;IAC5E,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC;QACnC,YAAY,CAAC,wBAAwB,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC;IAC1E,CAAC;IAED,MAAM,aAAa,GAAG;QACpB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1B,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;QAChC,OAAO,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;QAClE,0CAA0C;QAC1C,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,GAAG,iBAAiB,GAAG,sBAAsB,EAAE;QACnE,iBAAiB,EAAE,GAAG,iBAAiB,GAAG,oBAAoB,EAAE;QAChE,iBAAiB,EAAE,GAAG,iBAAiB,GAAG,qBAAqB,EAAE;QACjE,WAAW,EAAE,YAAY,CAAC,GAAG;QAC7B,GAAG,YAAY;QACf,GAAG,OAAO;KACX,CAAC;IACF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import Stripe from 'stripe';
2
2
  const { STRIPE_SECRET, STRIPE_WEBHOOK_ENVIRONMENT, EMAIL_WEBSITE_NAME } = process.env;
3
3
  const stripe = new Stripe(STRIPE_SECRET, {
4
- apiVersion: '2023-08-16',
4
+ apiVersion: '2023-10-16',
5
5
  });
6
6
  export default stripe;
7
7
  export const createRegistrationIntent = async ({ userId, name, email, paymentProviderId }, options = {}) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/plugins",
3
- "version": "2.7.6",
3
+ "version": "2.8.0",
4
4
  "main": "lib/plugins-index.js",
5
5
  "types": "lib/plugins-index.d.ts",
6
6
  "exports": {
@@ -80,39 +80,39 @@
80
80
  "lru-cache": "^10.0.0",
81
81
  "open": "^10.0.0",
82
82
  "postfinancecheckout": "^4.1.1",
83
- "stripe": "^13.11.0",
83
+ "stripe": "^14.19.0",
84
84
  "tiny-secp256k1": "^2.2.3",
85
85
  "twilio": "^4.23.0",
86
86
  "web-push": "^3.6.3"
87
87
  },
88
88
  "devDependencies": {
89
89
  "@redis/client": "^1.5.14",
90
- "@types/node": "^20.11.21",
91
- "@unchainedshop/api": "^2.7.6",
92
- "@unchainedshop/core-delivery": "^2.7.6",
93
- "@unchainedshop/core-enrollments": "^2.7.6",
94
- "@unchainedshop/core-filters": "^2.7.6",
95
- "@unchainedshop/core-messaging": "^2.7.6",
96
- "@unchainedshop/core-orders": "^2.7.6",
97
- "@unchainedshop/core-payment": "^2.7.6",
98
- "@unchainedshop/core-products": "^2.7.6",
99
- "@unchainedshop/core-quotations": "^2.7.6",
100
- "@unchainedshop/core-warehousing": "^2.7.6",
101
- "@unchainedshop/core-worker": "^2.7.6",
102
- "@unchainedshop/events": "^2.7.6",
103
- "@unchainedshop/file-upload": "^2.7.6",
104
- "@unchainedshop/logger": "^2.7.6",
105
- "@unchainedshop/types": "^2.7.6",
106
- "@unchainedshop/utils": "^2.7.6",
90
+ "@types/node": "^20.11.24",
91
+ "@unchainedshop/api": "^2.8.0",
92
+ "@unchainedshop/core-delivery": "^2.8.0",
93
+ "@unchainedshop/core-enrollments": "^2.8.0",
94
+ "@unchainedshop/core-filters": "^2.8.0",
95
+ "@unchainedshop/core-messaging": "^2.8.0",
96
+ "@unchainedshop/core-orders": "^2.8.0",
97
+ "@unchainedshop/core-payment": "^2.8.0",
98
+ "@unchainedshop/core-products": "^2.8.0",
99
+ "@unchainedshop/core-quotations": "^2.8.0",
100
+ "@unchainedshop/core-warehousing": "^2.8.0",
101
+ "@unchainedshop/core-worker": "^2.8.0",
102
+ "@unchainedshop/events": "^2.8.0",
103
+ "@unchainedshop/file-upload": "^2.8.0",
104
+ "@unchainedshop/logger": "^2.8.0",
105
+ "@unchainedshop/types": "^2.8.0",
106
+ "@unchainedshop/utils": "^2.8.0",
107
107
  "bluebird": "^3.7.2",
108
108
  "event-iterator": "^2.0.0",
109
- "express": "^4.18.2",
109
+ "express": "^4.18.3",
110
110
  "jest": "^29.7.0",
111
111
  "JSONStream": "^1.3.5",
112
112
  "lru-cache": "^10.2.0",
113
113
  "minio": "^7.1.3",
114
114
  "node-sheets": "^1.2.0",
115
- "nodemailer": "^6.9.10",
115
+ "nodemailer": "^6.9.11",
116
116
  "open": "^10.0.4",
117
117
  "postfinancecheckout": "^4.5.0",
118
118
  "request": "^2.88.2",
@@ -137,6 +137,10 @@ const Payrexx: IPaymentAdapter = {
137
137
 
138
138
  const gatewayObject = await api.getGateway(gatewayId);
139
139
 
140
+ if (!gatewayObject) {
141
+ throw new Error('Could not load gateway from the Payrexx API');
142
+ }
143
+
140
144
  const pricing = await modules.orders.pricingSheet(order);
141
145
  const { currency, amount } = pricing.total({ useNetPrice: false });
142
146
 
@@ -14,18 +14,19 @@ export const payrexxHandler = async (request, response) => {
14
14
  type: Object.keys(request.body).join(','),
15
15
  });
16
16
  response.writeHead(200);
17
- response.end({
18
- ignored: true,
19
- message: `Unhandled event type: ${Object.keys(request.body).join(',')}. Supported type: transaction`,
20
- });
17
+ response.end(
18
+ JSON.stringify({
19
+ ignored: true,
20
+ message: `Unhandled event type: ${Object.keys(request.body).join(',')}. Supported type: transaction`,
21
+ }),
22
+ );
21
23
  }
22
24
 
23
25
  logger.verbose(`Processing event`, {
24
26
  transactionId: transaction.id,
25
27
  });
26
28
  try {
27
- const { referenceId: orderPaymentId } = transaction;
28
-
29
+ const { referenceId: orderPaymentId, invoice } = transaction;
29
30
  logger.verbose(`checkout with orderPaymentId: ${orderPaymentId}`);
30
31
  await modules.orders.payments.logEvent(orderPaymentId, {
31
32
  transactionId: transaction.id,
@@ -40,7 +41,7 @@ export const payrexxHandler = async (request, response) => {
40
41
  orderPayment.orderId,
41
42
  {
42
43
  paymentContext: {
43
- transactionId: transaction.id,
44
+ gatewayId: invoice.paymentRequestId,
44
45
  },
45
46
  },
46
47
  resolvedContext,
@@ -50,10 +51,12 @@ export const payrexxHandler = async (request, response) => {
50
51
  orderId: order._id,
51
52
  });
52
53
  response.writeHead(200);
53
- response.end({
54
- message: 'checkout successful',
55
- orderId: order._id,
56
- });
54
+ response.end(
55
+ JSON.stringify({
56
+ message: 'checkout successful',
57
+ orderId: order._id,
58
+ }),
59
+ );
57
60
  } catch (error) {
58
61
  logger.error(error, {
59
62
  transactionId: transaction.id,
@@ -8,17 +8,30 @@ export const mapOrderDataToGatewayObject = ({ order, orderPayment, pricing }, op
8
8
  } = process.env;
9
9
 
10
10
  const { currency, amount } = pricing.total({ useNetPrice: false });
11
+
12
+ const customerData = {};
13
+ if (order.contact?.emailAddress) {
14
+ customerData['fields[email][value]'] = order.contact?.emailAddress;
15
+ }
16
+ if (order.billingAddress?.firstName) {
17
+ customerData['fields[forename][value]'] = order.billingAddress?.firstName;
18
+ }
19
+ if (order.billingAddress?.lastName) {
20
+ customerData['fields[surname][value]'] = order.billingAddress?.lastName;
21
+ }
22
+
11
23
  const gatewayObject = {
12
24
  amount: Math.round(amount),
13
25
  currency: currency.toUpperCase(),
14
26
  purpose: encodeURIComponent(`${EMAIL_WEBSITE_NAME} #${order._id}`),
27
+ // preAuthorization: true -> tokenization!
15
28
  reservation: true,
16
29
  skipResultPage: true,
17
30
  successRedirectUrl: `${EMAIL_WEBSITE_URL}${DATATRANS_SUCCESS_PATH}`,
18
31
  failedRedirectUrl: `${EMAIL_WEBSITE_URL}${DATATRANS_ERROR_PATH}`,
19
32
  cancelRedirectUrl: `${EMAIL_WEBSITE_URL}${DATATRANS_CANCEL_PATH}`,
20
33
  referenceId: orderPayment._id,
21
- 'fields[email]': order.contact?.emailAddress,
34
+ ...customerData,
22
35
  ...options,
23
36
  };
24
37
  return gatewayObject;
@@ -3,7 +3,7 @@ import Stripe from 'stripe';
3
3
  const { STRIPE_SECRET, STRIPE_WEBHOOK_ENVIRONMENT, EMAIL_WEBSITE_NAME } = process.env;
4
4
 
5
5
  const stripe = new Stripe(STRIPE_SECRET, {
6
- apiVersion: '2023-08-16',
6
+ apiVersion: '2023-10-16',
7
7
  });
8
8
 
9
9
  export default stripe;