awesome-node-checkout 1.0.2 → 1.2.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 +61 -0
- package/README.md +101 -23
- package/dist/adapters/express/index.d.ts +64 -7
- package/dist/adapters/express/index.d.ts.map +1 -1
- package/dist/adapters/express/index.js +127 -25
- package/dist/adapters/express/index.js.map +1 -1
- package/dist/checkout-configurator.d.ts +5 -1
- package/dist/checkout-configurator.d.ts.map +1 -1
- package/dist/checkout-configurator.js +28 -3
- package/dist/checkout-configurator.js.map +1 -1
- package/dist/events/checkout-event-bus.d.ts +1 -0
- package/dist/events/checkout-event-bus.d.ts.map +1 -1
- package/dist/events/checkout-event-bus.js.map +1 -1
- package/dist/interfaces/payment-provider.interface.d.ts +7 -3
- package/dist/interfaces/payment-provider.interface.d.ts.map +1 -1
- package/dist/models/payment-request.model.d.ts +2 -0
- package/dist/models/payment-request.model.d.ts.map +1 -1
- package/dist/models/payment-result.model.d.ts +8 -0
- package/dist/models/payment-result.model.d.ts.map +1 -1
- package/dist/providers/nexi/nexi.provider.d.ts +21 -8
- package/dist/providers/nexi/nexi.provider.d.ts.map +1 -1
- package/dist/providers/nexi/nexi.provider.js +160 -44
- package/dist/providers/nexi/nexi.provider.js.map +1 -1
- package/dist/providers/paypal/paypal.provider.d.ts.map +1 -1
- package/dist/providers/paypal/paypal.provider.js +17 -0
- package/dist/providers/paypal/paypal.provider.js.map +1 -1
- package/dist/providers/satispay/satispay.provider.d.ts +15 -5
- package/dist/providers/satispay/satispay.provider.d.ts.map +1 -1
- package/dist/providers/satispay/satispay.provider.js +54 -13
- package/dist/providers/satispay/satispay.provider.js.map +1 -1
- package/package.json +19 -4
|
@@ -28,6 +28,7 @@ class CheckoutConfigurator {
|
|
|
28
28
|
constructor(config = {}) {
|
|
29
29
|
this.config = config;
|
|
30
30
|
this.providers = new Map();
|
|
31
|
+
this.paymentOrders = new Map();
|
|
31
32
|
/** Event bus — subscribe to payment lifecycle events */
|
|
32
33
|
this.events = new checkout_event_bus_1.CheckoutEventBus();
|
|
33
34
|
}
|
|
@@ -68,12 +69,16 @@ class CheckoutConfigurator {
|
|
|
68
69
|
async createPayment(providerName, request) {
|
|
69
70
|
const provider = this.getProvider(providerName);
|
|
70
71
|
const result = await provider.createPayment(request);
|
|
72
|
+
if (result.paymentId && request.orderId) {
|
|
73
|
+
this.paymentOrders.set(result.paymentId, request.orderId);
|
|
74
|
+
}
|
|
71
75
|
await this.emit(result.success ? 'payment.created' : 'payment.failed', {
|
|
72
76
|
provider: providerName,
|
|
73
77
|
paymentId: result.paymentId,
|
|
74
78
|
orderId: request.orderId,
|
|
75
79
|
status: result.status,
|
|
76
80
|
error: result.error,
|
|
81
|
+
raw: result.raw,
|
|
77
82
|
});
|
|
78
83
|
return result;
|
|
79
84
|
}
|
|
@@ -81,11 +86,14 @@ class CheckoutConfigurator {
|
|
|
81
86
|
async executePayment(providerName, paymentId, data) {
|
|
82
87
|
const provider = this.getProvider(providerName);
|
|
83
88
|
const result = await provider.executePayment(paymentId, data);
|
|
89
|
+
const orderId = this.paymentOrders.get(paymentId);
|
|
84
90
|
await this.emit(result.success ? 'payment.completed' : 'payment.failed', {
|
|
85
91
|
provider: providerName,
|
|
86
92
|
paymentId,
|
|
93
|
+
orderId,
|
|
87
94
|
status: result.status,
|
|
88
95
|
error: result.error,
|
|
96
|
+
raw: result.raw,
|
|
89
97
|
});
|
|
90
98
|
return result;
|
|
91
99
|
}
|
|
@@ -98,11 +106,14 @@ class CheckoutConfigurator {
|
|
|
98
106
|
async refundPayment(providerName, paymentId, amount) {
|
|
99
107
|
const provider = this.getProvider(providerName);
|
|
100
108
|
const result = await provider.refundPayment(paymentId, amount);
|
|
109
|
+
const orderId = this.paymentOrders.get(paymentId);
|
|
101
110
|
await this.emit('payment.refunded', {
|
|
102
111
|
provider: providerName,
|
|
103
112
|
paymentId,
|
|
113
|
+
orderId,
|
|
104
114
|
status: result.status,
|
|
105
115
|
error: result.error,
|
|
116
|
+
raw: result.raw,
|
|
106
117
|
});
|
|
107
118
|
return result;
|
|
108
119
|
}
|
|
@@ -110,18 +121,27 @@ class CheckoutConfigurator {
|
|
|
110
121
|
* Handle an incoming webhook from the provider.
|
|
111
122
|
* @throws CheckoutError if the provider does not support webhooks.
|
|
112
123
|
*/
|
|
113
|
-
async handleWebhook(providerName, body, headers) {
|
|
124
|
+
async handleWebhook(providerName, body, headers = {}, query, context) {
|
|
114
125
|
const provider = this.getProvider(providerName);
|
|
115
126
|
if (!provider.handleWebhook) {
|
|
116
127
|
throw new errors_1.CheckoutError(`Provider '${providerName}' does not support webhook handling`, 'WEBHOOK_NOT_SUPPORTED', providerName);
|
|
117
128
|
}
|
|
118
|
-
const result = await provider.handleWebhook(body, headers);
|
|
129
|
+
const result = await provider.handleWebhook(body, headers, query, context);
|
|
130
|
+
const rawAny = result.raw;
|
|
131
|
+
const orderId = rawAny?.orderId ??
|
|
132
|
+
rawAny?.order_id ??
|
|
133
|
+
rawAny?.external_code ??
|
|
134
|
+
rawAny?.codTrans ??
|
|
135
|
+
query?.order_id ??
|
|
136
|
+
(result.paymentId ? this.paymentOrders.get(result.paymentId) : undefined);
|
|
119
137
|
await this.emit('webhook.received', {
|
|
120
138
|
provider: providerName,
|
|
121
139
|
paymentId: result.paymentId,
|
|
140
|
+
orderId,
|
|
122
141
|
status: result.status,
|
|
123
142
|
error: result.error,
|
|
124
|
-
data: body,
|
|
143
|
+
data: body ?? query,
|
|
144
|
+
raw: result.raw,
|
|
125
145
|
});
|
|
126
146
|
return result;
|
|
127
147
|
}
|
|
@@ -135,11 +155,16 @@ class CheckoutConfigurator {
|
|
|
135
155
|
throw new errors_1.CheckoutError(`Provider '${providerName}' does not support redirect handling`, 'REDIRECT_NOT_SUPPORTED', providerName);
|
|
136
156
|
}
|
|
137
157
|
const result = await provider.handleRedirect(query);
|
|
158
|
+
const orderId = (result.paymentId ? this.paymentOrders.get(result.paymentId) : undefined) ??
|
|
159
|
+
query?.order_id ??
|
|
160
|
+
query?.codTrans;
|
|
138
161
|
await this.emit(result.success ? 'payment.completed' : 'payment.failed', {
|
|
139
162
|
provider: providerName,
|
|
140
163
|
paymentId: result.paymentId,
|
|
164
|
+
orderId,
|
|
141
165
|
status: result.status,
|
|
142
166
|
error: result.error,
|
|
167
|
+
raw: result.raw,
|
|
143
168
|
});
|
|
144
169
|
return result;
|
|
145
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-configurator.js","sourceRoot":"","sources":["../src/checkout-configurator.ts"],"names":[],"mappings":";;;AAIA,4CAAgD;AAChD,oEAAwG;AAExG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,oBAAoB;
|
|
1
|
+
{"version":3,"file":"checkout-configurator.js","sourceRoot":"","sources":["../src/checkout-configurator.ts"],"names":[],"mappings":";;;AAIA,4CAAgD;AAChD,oEAAwG;AAExG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,oBAAoB;IAO/B,YAA6B,SAAyB,EAAE;QAA3B,WAAM,GAAN,MAAM,CAAqB;QANvC,cAAS,GAAkC,IAAI,GAAG,EAAE,CAAC;QACrD,kBAAa,GAAwB,IAAI,GAAG,EAAE,CAAC;QAEhE,wDAAwD;QAC/C,WAAM,GAAqB,IAAI,qCAAgB,EAAE,CAAC;IAEA,CAAC;IAE5D,8EAA8E;IACtE,KAAK,CAAC,IAAI,CAChB,KAAwB,EACxB,IAA6C;QAE7C,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAA0B;QACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,sBAAa,CACrB,aAAa,QAAQ,CAAC,IAAI,yBAAyB,EACnD,6BAA6B,EAC7B,QAAQ,CAAC,IAAI,CACd,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,IAAY;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,sBAAa,CACrB,qBAAqB,IAAI,+CAA+C,EACxE,oBAAoB,EACpB,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,oDAAoD;IACpD,sBAAsB;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,aAAa,CAAC,YAAoB,EAAE,OAAuB;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,EAAE;YACrE,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,cAAc,CAClB,YAAoB,EACpB,SAAiB,EACjB,IAA6B;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,EAAE;YACvE,QAAQ,EAAE,YAAY;YACtB,SAAS;YACT,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,iBAAiB,CAAC,YAAoB,EAAE,SAAiB;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,aAAa,CACjB,YAAoB,EACpB,SAAiB,EACjB,MAAe;QAEf,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAClC,QAAQ,EAAE,YAAY;YACtB,SAAS;YACT,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CACjB,YAAoB,EACpB,IAA8B,EAC9B,UAAkC,EAAE,EACpC,KAA8B,EAC9B,OAA4C;QAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC5B,MAAM,IAAI,sBAAa,CACrB,aAAa,YAAY,qCAAqC,EAC9D,uBAAuB,EACvB,YAAY,CACb,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAU,CAAC;QACjC,MAAM,OAAO,GACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,QAAQ;YACf,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE5E,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAClC,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,IAAI,IAAI,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAClB,YAAoB,EACpB,KAA6B;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7B,MAAM,IAAI,sBAAa,CACrB,aAAa,YAAY,sCAAsC,EAC/D,wBAAwB,EACxB,YAAY,CACb,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,OAAO,GACX,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ,CAAC;QAElB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,EAAE;YACvE,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAlMD,oDAkMC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-event-bus.d.ts","sourceRoot":"","sources":["../../src/events/checkout-event-bus.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE7E;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsD;IAEhF,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAM3D,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAQtD,IAAI,CACR,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAC/C,OAAO,CAAC,IAAI,CAAC;CAKjB"}
|
|
1
|
+
{"version":3,"file":"checkout-event-bus.d.ts","sourceRoot":"","sources":["../../src/events/checkout-event-bus.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE7E;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsD;IAEhF,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAM3D,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAQtD,IAAI,CACR,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAC/C,OAAO,CAAC,IAAI,CAAC;CAKjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-event-bus.js","sourceRoot":"","sources":["../../src/events/checkout-event-bus.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"checkout-event-bus.js","sourceRoot":"","sources":["../../src/events/checkout-event-bus.ts"],"names":[],"mappings":";;;AAoBA;;;;;;;;;GASG;AACH,MAAa,gBAAgB;IAA7B;QACmB,cAAS,GAA4C,IAAI,GAAG,EAAE,CAAC;IAwBlF,CAAC;IAtBC,EAAE,CAAC,KAAwB,EAAE,QAAuB;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,KAAwB,EAAE,QAAuB;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAI,CACR,KAAwB,EACxB,OAAgD;QAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,WAAW,GAAyB,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;QAChF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;CACF;AAzBD,4CAyBC"}
|
|
@@ -20,10 +20,14 @@ export interface IPaymentProvider {
|
|
|
20
20
|
/** Issue a full or partial refund on a completed payment */
|
|
21
21
|
refundPayment(paymentId: string, amount?: number): Promise<PaymentResult>;
|
|
22
22
|
/**
|
|
23
|
-
* Handle an incoming webhook notification from the provider.
|
|
24
|
-
* Optional — implement
|
|
23
|
+
* Handle an incoming webhook or server-to-server outcome notification from the provider.
|
|
24
|
+
* Optional — implement for providers that use the `webhook` flow or support
|
|
25
|
+
* server-to-server notifications.
|
|
25
26
|
*/
|
|
26
|
-
handleWebhook?(body
|
|
27
|
+
handleWebhook?(body?: Record<string, unknown>, headers?: Record<string, string>, query?: Record<string, string>, context?: {
|
|
28
|
+
method?: string;
|
|
29
|
+
path?: string;
|
|
30
|
+
}): Promise<WebhookResult>;
|
|
27
31
|
/**
|
|
28
32
|
* Handle the redirect callback from the provider (query params from returnUrl).
|
|
29
33
|
* Optional — implement only for providers that use the `redirect` flow.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-provider.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/payment-provider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,8FAA8F;IAC9F,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE/D,mDAAmD;IACnD,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEzF,2DAA2D;IAC3D,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE7D,4DAA4D;IAC5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1E
|
|
1
|
+
{"version":3,"file":"payment-provider.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/payment-provider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,8FAA8F;IAC9F,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE/D,mDAAmD;IACnD,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEzF,2DAA2D;IAC3D,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE7D,4DAA4D;IAC5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1E;;;;OAIG;IACH,aAAa,CAAC,CACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1B;;;OAGG;IACH,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACxE"}
|
|
@@ -13,6 +13,8 @@ export interface PaymentRequest {
|
|
|
13
13
|
returnUrl: string;
|
|
14
14
|
/** URL to redirect the user to if the payment is cancelled */
|
|
15
15
|
cancelUrl: string;
|
|
16
|
+
/** Optional webhook / server-to-server notification URL forwarded to providers that support it */
|
|
17
|
+
notifyUrl?: string;
|
|
16
18
|
/** External order identifier from the merchant's system */
|
|
17
19
|
orderId?: string;
|
|
18
20
|
/** Arbitrary key-value pairs forwarded to the provider when supported */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-request.model.d.ts","sourceRoot":"","sources":["../../src/models/payment-request.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IAEf,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAElB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAElB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC"}
|
|
1
|
+
{"version":3,"file":"payment-request.model.d.ts","sourceRoot":"","sources":["../../src/models/payment-request.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IAEf,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAElB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAElB,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC"}
|
|
@@ -7,6 +7,10 @@ export interface PaymentResult {
|
|
|
7
7
|
approvalUrl?: string;
|
|
8
8
|
/** Current payment status (provider-specific string, e.g. 'COMPLETED', 'ACCEPTED') */
|
|
9
9
|
status?: string;
|
|
10
|
+
/** Amount reported by the provider, major units (same unit as PaymentRequest.amount) */
|
|
11
|
+
amount?: number;
|
|
12
|
+
/** ISO 4217 alpha code reported by the provider (e.g. 'EUR') */
|
|
13
|
+
currency?: string;
|
|
10
14
|
/** Error message if success is false */
|
|
11
15
|
error?: string;
|
|
12
16
|
/** Raw provider response — useful for debugging or provider-specific fields */
|
|
@@ -17,6 +21,10 @@ export interface WebhookResult {
|
|
|
17
21
|
success: boolean;
|
|
18
22
|
paymentId?: string;
|
|
19
23
|
status?: string;
|
|
24
|
+
/** Amount reported by the provider, major units (same unit as PaymentRequest.amount) */
|
|
25
|
+
amount?: number;
|
|
26
|
+
/** ISO 4217 alpha code reported by the provider (e.g. 'EUR') */
|
|
27
|
+
currency?: string;
|
|
20
28
|
error?: string;
|
|
21
29
|
raw?: any;
|
|
22
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-result.model.d.ts","sourceRoot":"","sources":["../../src/models/payment-result.model.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IAEjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,+EAA+E;IAC/E,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"payment-result.model.d.ts","sourceRoot":"","sources":["../../src/models/payment-result.model.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IAEjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,+EAA+E;IAC/E,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,GAAG,CAAC;CACX"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BasePaymentProvider } from '../../abstract/base-payment-provider.abstract';
|
|
2
2
|
import { PaymentRequest } from '../../models/payment-request.model';
|
|
3
|
-
import { PaymentResult } from '../../models/payment-result.model';
|
|
3
|
+
import { PaymentResult, WebhookResult } from '../../models/payment-result.model';
|
|
4
4
|
export interface NexiProviderConfig {
|
|
5
5
|
merchantId: string;
|
|
6
6
|
macKey: string;
|
|
@@ -23,6 +23,13 @@ export declare class NexiProvider extends BasePaymentProvider {
|
|
|
23
23
|
readonly flow: "redirect";
|
|
24
24
|
private readonly apiUrl;
|
|
25
25
|
constructor(config: NexiProviderConfig);
|
|
26
|
+
/**
|
|
27
|
+
* Computes the SHA-1 MAC required by Nexi to authenticate the payment request.
|
|
28
|
+
* Format: `codTrans={val}divisa={val}importo={val}{macKey}`
|
|
29
|
+
*
|
|
30
|
+
* SHA-1 is used here because Nexi XPay mandates it for MAC computation.
|
|
31
|
+
*/
|
|
32
|
+
private sha1;
|
|
26
33
|
/**
|
|
27
34
|
* Computes the SHA-1 MAC required by Nexi to authenticate the payment request.
|
|
28
35
|
* Format: `codTrans={val}divisa={val}importo={val}{macKey}`
|
|
@@ -31,8 +38,8 @@ export declare class NexiProvider extends BasePaymentProvider {
|
|
|
31
38
|
*/
|
|
32
39
|
private generateMac;
|
|
33
40
|
/**
|
|
34
|
-
* Computes the SHA-1 MAC for the status (
|
|
35
|
-
* Format: `
|
|
41
|
+
* Computes the SHA-1 MAC for the status (bo/situazioneOrdine) API call.
|
|
42
|
+
* Format: `apiKey={alias}codiceTransazione={codiceTransazione}timeStamp={timeStamp}{macKey}`
|
|
36
43
|
*/
|
|
37
44
|
private generateStatusMac;
|
|
38
45
|
/**
|
|
@@ -41,23 +48,29 @@ export declare class NexiProvider extends BasePaymentProvider {
|
|
|
41
48
|
*/
|
|
42
49
|
private generateRefundMac;
|
|
43
50
|
/**
|
|
44
|
-
* Verifies the SHA-1 MAC included in a Nexi POST-back response.
|
|
45
|
-
* Format: `codTrans={
|
|
51
|
+
* Verifies the SHA-1 outcome MAC included in a Nexi POST-back response or server notification.
|
|
52
|
+
* Format: `codTrans={codTrans}esito={esito}importo={importo}divisa={divisa}data={data}orario={orario}codAut={codAut}{macKey}`
|
|
46
53
|
*/
|
|
47
54
|
private verifyResponseMac;
|
|
55
|
+
private safeVerifyResponseMac;
|
|
48
56
|
createPayment(request: PaymentRequest): Promise<PaymentResult>;
|
|
49
57
|
/**
|
|
50
58
|
* Validates the POST-back data from Nexi.
|
|
51
59
|
* `data` is the query/body object sent by Nexi to the returnUrl.
|
|
52
|
-
* The MAC is verified before the result is considered authoritative.
|
|
60
|
+
* The outcome MAC is mandatory and verified over all 7 fields before the result is considered authoritative.
|
|
53
61
|
*/
|
|
54
62
|
executePayment(paymentId: string, data?: Record<string, string>): Promise<PaymentResult>;
|
|
63
|
+
/**
|
|
64
|
+
* Handles the incoming server-to-server outcome notification (urlpost) from Nexi.
|
|
65
|
+
* The outcome MAC is mandatory and verified over all 7 fields.
|
|
66
|
+
*/
|
|
67
|
+
handleWebhook(body?: Record<string, unknown>, _headers?: Record<string, string>): Promise<WebhookResult>;
|
|
55
68
|
getPaymentDetails(paymentId: string): Promise<PaymentResult>;
|
|
56
69
|
refundPayment(paymentId: string, amount?: number): Promise<PaymentResult>;
|
|
57
70
|
/**
|
|
58
71
|
* Handles the POST-back from Nexi to the returnUrl.
|
|
59
|
-
* Nexi sends `esito`, `codTrans`, `importo`, `divisa`, `mac`,
|
|
60
|
-
* The MAC is verified
|
|
72
|
+
* Nexi sends `esito`, `codTrans`, `importo`, `divisa`, `mac`, `data`, `orario`, `codAut` etc.
|
|
73
|
+
* The outcome MAC is mandatory and verified over all 7 fields to ensure authenticity.
|
|
61
74
|
*/
|
|
62
75
|
handleRedirect(query: Record<string, string>): Promise<PaymentResult>;
|
|
63
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nexi.provider.d.ts","sourceRoot":"","sources":["../../../src/providers/nexi/nexi.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"nexi.provider.d.ts","sourceRoot":"","sources":["../../../src/providers/nexi/nexi.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEjF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,WAAW,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,mBAAmB;IAMvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IALnC,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEH,MAAM,EAAE,kBAAkB;IAQvD;;;;;OAKG;IACH,OAAO,CAAC,IAAI;IAIZ;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,qBAAqB;IAiBvB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAqCpE;;;;OAIG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IA6C9F;;;OAGG;IACG,aAAa,CACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACpC,OAAO,CAAC,aAAa,CAAC;IAuCnB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA+E5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkC/E;;;;OAIG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;CAG5E"}
|
|
@@ -61,34 +61,54 @@ class NexiProvider extends base_payment_provider_abstract_1.BasePaymentProvider
|
|
|
61
61
|
*
|
|
62
62
|
* SHA-1 is used here because Nexi XPay mandates it for MAC computation.
|
|
63
63
|
*/
|
|
64
|
-
|
|
65
|
-
const raw = `codTrans=${codTrans}divisa=${divisa}importo=${importoCents}${this.config.macKey}`;
|
|
64
|
+
sha1(raw) {
|
|
66
65
|
return crypto.createHash('sha1').update(raw).digest('hex');
|
|
67
66
|
}
|
|
68
67
|
/**
|
|
69
|
-
* Computes the SHA-1 MAC
|
|
70
|
-
* Format: `
|
|
68
|
+
* Computes the SHA-1 MAC required by Nexi to authenticate the payment request.
|
|
69
|
+
* Format: `codTrans={val}divisa={val}importo={val}{macKey}`
|
|
70
|
+
*
|
|
71
|
+
* SHA-1 is used here because Nexi XPay mandates it for MAC computation.
|
|
71
72
|
*/
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
generateMac(codTrans, divisa, importoCents) {
|
|
74
|
+
return this.sha1(`codTrans=${codTrans}divisa=${divisa}importo=${importoCents}${this.config.macKey}`);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Computes the SHA-1 MAC for the status (bo/situazioneOrdine) API call.
|
|
78
|
+
* Format: `apiKey={alias}codiceTransazione={codiceTransazione}timeStamp={timeStamp}{macKey}`
|
|
79
|
+
*/
|
|
80
|
+
generateStatusMac(alias, codiceTransazione, timeStamp) {
|
|
81
|
+
return this.sha1(`apiKey=${alias}codiceTransazione=${codiceTransazione}timeStamp=${timeStamp}${this.config.macKey}`);
|
|
75
82
|
}
|
|
76
83
|
/**
|
|
77
84
|
* Computes the SHA-1 MAC for the refund (storno) API call.
|
|
78
85
|
* Format: `alias={alias}codTrans={codTrans}importo={importo}timestamp={timestamp}{macKey}`
|
|
79
86
|
*/
|
|
80
87
|
generateRefundMac(alias, codTrans, importo, timestamp) {
|
|
81
|
-
|
|
82
|
-
return crypto.createHash('sha1').update(raw).digest('hex');
|
|
88
|
+
return this.sha1(`alias=${alias}codTrans=${codTrans}importo=${importo}timestamp=${timestamp}${this.config.macKey}`);
|
|
83
89
|
}
|
|
84
90
|
/**
|
|
85
|
-
* Verifies the SHA-1 MAC included in a Nexi POST-back response.
|
|
86
|
-
* Format: `codTrans={
|
|
91
|
+
* Verifies the SHA-1 outcome MAC included in a Nexi POST-back response or server notification.
|
|
92
|
+
* Format: `codTrans={codTrans}esito={esito}importo={importo}divisa={divisa}data={data}orario={orario}codAut={codAut}{macKey}`
|
|
87
93
|
*/
|
|
88
|
-
verifyResponseMac(codTrans, esito, importo, divisa, mac) {
|
|
89
|
-
const raw = `codTrans=${codTrans}esito=${esito}importo=${importo}divisa=${divisa}
|
|
90
|
-
|
|
91
|
-
|
|
94
|
+
verifyResponseMac(codTrans, esito, importo, divisa, dataStr, orario, codAut, mac) {
|
|
95
|
+
const raw = `codTrans=${codTrans}esito=${esito}importo=${importo}divisa=${divisa}` +
|
|
96
|
+
`data=${dataStr}orario=${orario}codAut=${codAut}${this.config.macKey}`;
|
|
97
|
+
const expected = this.sha1(raw);
|
|
98
|
+
const expBuf = Buffer.from(expected, 'hex');
|
|
99
|
+
const macBuf = Buffer.from(mac, 'hex');
|
|
100
|
+
if (expBuf.length !== macBuf.length || expBuf.length === 0) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
return crypto.timingSafeEqual(expBuf, macBuf);
|
|
104
|
+
}
|
|
105
|
+
safeVerifyResponseMac(codTrans, esito, importo, divisa, dataStr, orario, codAut, mac) {
|
|
106
|
+
try {
|
|
107
|
+
return this.verifyResponseMac(codTrans, esito, importo, divisa, dataStr, orario, codAut, mac);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
92
112
|
}
|
|
93
113
|
async createPayment(request) {
|
|
94
114
|
try {
|
|
@@ -104,6 +124,9 @@ class NexiProvider extends base_payment_provider_abstract_1.BasePaymentProvider
|
|
|
104
124
|
url_back: request.cancelUrl,
|
|
105
125
|
mac,
|
|
106
126
|
};
|
|
127
|
+
if (request.notifyUrl) {
|
|
128
|
+
params.urlpost = request.notifyUrl;
|
|
129
|
+
}
|
|
107
130
|
if (this.config.group) {
|
|
108
131
|
params.gruppo = this.config.group;
|
|
109
132
|
}
|
|
@@ -122,7 +145,7 @@ class NexiProvider extends base_payment_provider_abstract_1.BasePaymentProvider
|
|
|
122
145
|
/**
|
|
123
146
|
* Validates the POST-back data from Nexi.
|
|
124
147
|
* `data` is the query/body object sent by Nexi to the returnUrl.
|
|
125
|
-
* The MAC is verified before the result is considered authoritative.
|
|
148
|
+
* The outcome MAC is mandatory and verified over all 7 fields before the result is considered authoritative.
|
|
126
149
|
*/
|
|
127
150
|
async executePayment(paymentId, data) {
|
|
128
151
|
try {
|
|
@@ -130,28 +153,34 @@ class NexiProvider extends base_payment_provider_abstract_1.BasePaymentProvider
|
|
|
130
153
|
const codTrans = data?.codTrans ?? paymentId;
|
|
131
154
|
const importo = data?.importo ?? '';
|
|
132
155
|
const divisa = data?.divisa ?? '';
|
|
156
|
+
const dataStr = data?.data ?? '';
|
|
157
|
+
const orario = data?.orario ?? '';
|
|
158
|
+
const codAut = data?.codAut ?? '';
|
|
133
159
|
const mac = data?.mac ?? '';
|
|
134
|
-
if (mac) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
160
|
+
if (!mac) {
|
|
161
|
+
return {
|
|
162
|
+
success: false,
|
|
163
|
+
paymentId: codTrans,
|
|
164
|
+
status: 'FAILED',
|
|
165
|
+
error: 'MAC missing',
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
if (!this.safeVerifyResponseMac(codTrans, esito, importo, divisa, dataStr, orario, codAut, mac)) {
|
|
169
|
+
return {
|
|
170
|
+
success: false,
|
|
171
|
+
paymentId: codTrans,
|
|
172
|
+
status: 'FAILED',
|
|
173
|
+
error: 'MAC verification failed: response may have been tampered with',
|
|
174
|
+
};
|
|
150
175
|
}
|
|
176
|
+
const amount = importo !== '' && !isNaN(Number(importo)) ? Number(importo) / 100 : undefined;
|
|
177
|
+
const currency = divisa === '978' ? 'EUR' : (divisa || undefined);
|
|
151
178
|
return {
|
|
152
179
|
success: esito === 'OK',
|
|
153
180
|
paymentId: codTrans,
|
|
154
181
|
status: esito === 'OK' ? 'COMPLETED' : 'FAILED',
|
|
182
|
+
amount,
|
|
183
|
+
currency,
|
|
155
184
|
raw: data,
|
|
156
185
|
};
|
|
157
186
|
}
|
|
@@ -159,25 +188,112 @@ class NexiProvider extends base_payment_provider_abstract_1.BasePaymentProvider
|
|
|
159
188
|
return this.errorResult(error, 'Failed to execute Nexi payment');
|
|
160
189
|
}
|
|
161
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Handles the incoming server-to-server outcome notification (urlpost) from Nexi.
|
|
193
|
+
* The outcome MAC is mandatory and verified over all 7 fields.
|
|
194
|
+
*/
|
|
195
|
+
async handleWebhook(body, _headers = {}) {
|
|
196
|
+
try {
|
|
197
|
+
if (!body) {
|
|
198
|
+
return { success: false, error: 'MAC verification failed' };
|
|
199
|
+
}
|
|
200
|
+
const f = (k) => String(body?.[k] ?? '');
|
|
201
|
+
const codTrans = f('codTrans');
|
|
202
|
+
const esito = f('esito');
|
|
203
|
+
const importo = f('importo');
|
|
204
|
+
const divisa = f('divisa');
|
|
205
|
+
const dataStr = f('data');
|
|
206
|
+
const orario = f('orario');
|
|
207
|
+
const codAut = f('codAut');
|
|
208
|
+
const mac = f('mac');
|
|
209
|
+
if (!mac || !this.safeVerifyResponseMac(codTrans, esito, importo, divisa, dataStr, orario, codAut, mac)) {
|
|
210
|
+
return {
|
|
211
|
+
success: false,
|
|
212
|
+
paymentId: codTrans || undefined,
|
|
213
|
+
error: 'MAC verification failed',
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
const amount = importo !== '' && !isNaN(Number(importo)) ? Number(importo) / 100 : undefined;
|
|
217
|
+
const currency = divisa === '978' ? 'EUR' : (divisa || undefined);
|
|
218
|
+
return {
|
|
219
|
+
success: esito === 'OK',
|
|
220
|
+
paymentId: codTrans,
|
|
221
|
+
status: esito === 'OK' ? 'COMPLETED' : 'FAILED',
|
|
222
|
+
amount,
|
|
223
|
+
currency,
|
|
224
|
+
raw: body,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
return { success: false, error: 'MAC verification failed' };
|
|
229
|
+
}
|
|
230
|
+
}
|
|
162
231
|
async getPaymentDetails(paymentId) {
|
|
163
232
|
try {
|
|
164
|
-
const
|
|
165
|
-
const mac = this.generateStatusMac(this.config.merchantId, paymentId,
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
233
|
+
const timeStamp = String(Date.now());
|
|
234
|
+
const mac = this.generateStatusMac(this.config.merchantId, paymentId, timeStamp);
|
|
235
|
+
const requestBody = {
|
|
236
|
+
apiKey: this.config.merchantId,
|
|
237
|
+
codiceTransazione: paymentId,
|
|
238
|
+
timeStamp,
|
|
170
239
|
mac,
|
|
171
240
|
};
|
|
172
|
-
const response = await fetch(`${this.apiUrl}/ecomm/api/
|
|
241
|
+
const response = await fetch(`${this.apiUrl}/ecomm/api/bo/situazioneOrdine`, {
|
|
173
242
|
method: 'POST',
|
|
174
|
-
headers: { 'Content-Type': 'application/
|
|
175
|
-
body:
|
|
243
|
+
headers: { 'Content-Type': 'application/json' },
|
|
244
|
+
body: JSON.stringify(requestBody),
|
|
176
245
|
});
|
|
177
246
|
if (!response.ok)
|
|
178
247
|
throw new Error(`Nexi API error: ${response.statusText}`);
|
|
179
248
|
const result = await response.json();
|
|
180
|
-
|
|
249
|
+
const esito = String(result['esito'] ?? '');
|
|
250
|
+
if (esito !== 'OK') {
|
|
251
|
+
const errMsg = result['errore']?.messaggio ?? 'Payment details request failed';
|
|
252
|
+
return { success: false, paymentId, error: errMsg, raw: result };
|
|
253
|
+
}
|
|
254
|
+
// Verify response MAC
|
|
255
|
+
const idOperazione = String(result['idOperazione'] ?? '');
|
|
256
|
+
const respTimeStamp = String(result['timeStamp'] ?? '');
|
|
257
|
+
const expectedMac = this.sha1(`esito=${esito}idOperazione=${idOperazione}timeStamp=${respTimeStamp}${this.config.macKey}`);
|
|
258
|
+
const respMac = String(result['mac'] ?? '');
|
|
259
|
+
const expBuf = Buffer.from(expectedMac, 'hex');
|
|
260
|
+
const macBuf = Buffer.from(respMac, 'hex');
|
|
261
|
+
let macValid = false;
|
|
262
|
+
try {
|
|
263
|
+
macValid = expBuf.length === macBuf.length && expBuf.length > 0 && crypto.timingSafeEqual(expBuf, macBuf);
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
macValid = false;
|
|
267
|
+
}
|
|
268
|
+
if (!macValid) {
|
|
269
|
+
return {
|
|
270
|
+
success: false,
|
|
271
|
+
paymentId,
|
|
272
|
+
error: 'MAC verification failed: response may have been tampered with',
|
|
273
|
+
raw: result,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
const report = Array.isArray(result['report']) ? result['report'] : [];
|
|
277
|
+
const item = report.find((r) => r?.codiceTransazione === paymentId) ?? report[0];
|
|
278
|
+
if (!item) {
|
|
279
|
+
return {
|
|
280
|
+
success: false,
|
|
281
|
+
paymentId,
|
|
282
|
+
error: 'Report not found in Nexi response',
|
|
283
|
+
raw: result,
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
const stato = item.stato;
|
|
287
|
+
const amount = item.importo != null && !isNaN(Number(item.importo)) ? Number(item.importo) / 100 : undefined;
|
|
288
|
+
const currency = item.divisa === '978' ? 'EUR' : (item.divisa ? String(item.divisa) : undefined);
|
|
289
|
+
return {
|
|
290
|
+
success: true,
|
|
291
|
+
paymentId,
|
|
292
|
+
status: stato,
|
|
293
|
+
amount,
|
|
294
|
+
currency,
|
|
295
|
+
raw: result,
|
|
296
|
+
};
|
|
181
297
|
}
|
|
182
298
|
catch (error) {
|
|
183
299
|
return this.errorResult(error, 'Failed to get Nexi payment details');
|
|
@@ -216,8 +332,8 @@ class NexiProvider extends base_payment_provider_abstract_1.BasePaymentProvider
|
|
|
216
332
|
}
|
|
217
333
|
/**
|
|
218
334
|
* Handles the POST-back from Nexi to the returnUrl.
|
|
219
|
-
* Nexi sends `esito`, `codTrans`, `importo`, `divisa`, `mac`,
|
|
220
|
-
* The MAC is verified
|
|
335
|
+
* Nexi sends `esito`, `codTrans`, `importo`, `divisa`, `mac`, `data`, `orario`, `codAut` etc.
|
|
336
|
+
* The outcome MAC is mandatory and verified over all 7 fields to ensure authenticity.
|
|
221
337
|
*/
|
|
222
338
|
async handleRedirect(query) {
|
|
223
339
|
return this.executePayment(query['codTrans'] ?? '', query);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nexi.provider.js","sourceRoot":"","sources":["../../../src/providers/nexi/nexi.provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nexi.provider.js","sourceRoot":"","sources":["../../../src/providers/nexi/nexi.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paypal.provider.d.ts","sourceRoot":"","sources":["../../../src/providers/paypal/paypal.provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAClC;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;IAQzC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPnC,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IAEpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,kBAAkB,CAAqB;gBAElB,MAAM,EAAE,oBAAoB;IAoBnD,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IA0C9D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"paypal.provider.d.ts","sourceRoot":"","sources":["../../../src/providers/paypal/paypal.provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAClC;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;IAQzC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPnC,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IAEpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,kBAAkB,CAAqB;gBAElB,MAAM,EAAE,oBAAoB;IAoBnD,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IA0C9D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA6BzD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA2B5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAuD/E;;;OAGG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;CAU5E"}
|