@munchi_oy/core 2.21.0 → 2.22.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/generated/api.ts CHANGED
@@ -16048,6 +16048,345 @@ export interface NexiConfigResponseDto {
16048
16048
  */
16049
16049
  'hasPassword': boolean;
16050
16050
  }
16051
+ /**
16052
+ *
16053
+ * @export
16054
+ * @interface NexiOnDeviceAnswerDto
16055
+ */
16056
+ export interface NexiOnDeviceAnswerDto {
16057
+ /**
16058
+ *
16059
+ * @type {PoyntPaymentStatus}
16060
+ * @memberof NexiOnDeviceAnswerDto
16061
+ */
16062
+ 'status': PoyntPaymentStatus;
16063
+ /**
16064
+ * The reference the payment app was given, read back from the transaction\'s references: the session\'s sessionId. Required on a sale\'s or a refund\'s approval, which is refused when it is not the session\'s. A decline or a cancel may come without it, and then only ends the wait. Not read on a revert: Poynt\'s void carries the sale\'s references.
16065
+ * @type {string}
16066
+ * @memberof NexiOnDeviceAnswerDto
16067
+ */
16068
+ 'reference'?: string;
16069
+ /**
16070
+ * Poynt\'s `Transaction.id`. Required on an approval. On a sale or a refund it becomes the session\'s providerTransactionId, and one id settles one session only. On a revert it is the void\'s own transaction or the sale\'s, and it or parentId must be the sale\'s; it is kept in the stored answer only.
16071
+ * @type {string}
16072
+ * @memberof NexiOnDeviceAnswerDto
16073
+ */
16074
+ 'transactionId'?: string;
16075
+ /**
16076
+ * Poynt\'s `Transaction.parentId`: on a void, the sale\'s transaction id. Absent on a sale, and on a refund, which Poynt does not link to its sale (a non-referenced refund).
16077
+ * @type {string}
16078
+ * @memberof NexiOnDeviceAnswerDto
16079
+ */
16080
+ 'parentId'?: string;
16081
+ /**
16082
+ * Poynt\'s `Transaction.status`. A sale\'s approval must carry CAPTURED, a refund\'s REFUNDED, a revert\'s VOIDED; any other is kept for ops and the session is not settled.
16083
+ * @type {string}
16084
+ * @memberof NexiOnDeviceAnswerDto
16085
+ */
16086
+ 'transactionStatus'?: string;
16087
+ /**
16088
+ * Poynt\'s `Transaction.action` (SALE, REFUND). Kept in the stored answer, not checked.
16089
+ * @type {string}
16090
+ * @memberof NexiOnDeviceAnswerDto
16091
+ */
16092
+ 'transactionAction'?: string;
16093
+ /**
16094
+ * Poynt\'s `Transaction.partiallyApproved`. An approval for part of the amount is kept for ops and the session is not settled. Absent reads as false.
16095
+ * @type {boolean}
16096
+ * @memberof NexiOnDeviceAnswerDto
16097
+ */
16098
+ 'partiallyApproved'?: boolean;
16099
+ /**
16100
+ * How many of the Payment\'s transactions Poynt approved. Absent or 1 is the normal case; 2 or more is kept for ops and the session is not settled.
16101
+ * @type {number}
16102
+ * @memberof NexiOnDeviceAnswerDto
16103
+ */
16104
+ 'approvedTransactionCount'?: number;
16105
+ /**
16106
+ * The currency charged, ISO 4217 alpha code (`amounts.currency`). Required on a sale\'s or a refund\'s approval, and must be the session\'s.
16107
+ * @type {string}
16108
+ * @memberof NexiOnDeviceAnswerDto
16109
+ */
16110
+ 'currency'?: string;
16111
+ /**
16112
+ * What the card was charged or refunded, in cents (`amounts.transactionAmount`), tip included. Required on a sale\'s or a refund\'s approval: a sale\'s must be the session\'s amount plus its tip, a refund\'s the refund\'s amount. One that does not match is kept for ops and the session is not settled. Not checked on a revert, which gives back the whole sale.
16113
+ * @type {number}
16114
+ * @memberof NexiOnDeviceAnswerDto
16115
+ */
16116
+ 'transactionAmount'?: number;
16117
+ /**
16118
+ * The tip in `amounts.tipAmount`, in cents. Kept in the stored answer; the payment event\'s tip is the session\'s, since the payment app takes no tip of its own.
16119
+ * @type {number}
16120
+ * @memberof NexiOnDeviceAnswerDto
16121
+ */
16122
+ 'tipAmount'?: number;
16123
+ /**
16124
+ * The card brand, Poynt\'s `card.type`.
16125
+ * @type {string}
16126
+ * @memberof NexiOnDeviceAnswerDto
16127
+ */
16128
+ 'cardType'?: string;
16129
+ /**
16130
+ * The card\'s first six digits (`card.numberFirst6`); they tell a benefit card. Six digits exactly.
16131
+ * @type {string}
16132
+ * @memberof NexiOnDeviceAnswerDto
16133
+ */
16134
+ 'numberFirst6'?: string;
16135
+ /**
16136
+ * The card\'s last four digits (`card.numberLast4`). A refund whose card differs from the sale\'s is recorded and logged, never refused. Four digits exactly.
16137
+ * @type {string}
16138
+ * @memberof NexiOnDeviceAnswerDto
16139
+ */
16140
+ 'numberLast4'?: string;
16141
+ /**
16142
+ * The issuer\'s approval code (`processorResponse.approvalCode`; Poynt\'s top-level `approvalCode` is null on the N950). Optional: shown on the payment event, never required.
16143
+ * @type {string}
16144
+ * @memberof NexiOnDeviceAnswerDto
16145
+ */
16146
+ 'approvalCode'?: string;
16147
+ /**
16148
+ * The acquirer\'s retrieval reference number (`processorResponse.retrievalRefNum`).
16149
+ * @type {string}
16150
+ * @memberof NexiOnDeviceAnswerDto
16151
+ */
16152
+ 'retrievalRefNum'?: string;
16153
+ /**
16154
+ * `processorResponse.status`: Successful or Failure. Kept, not checked.
16155
+ * @type {string}
16156
+ * @memberof NexiOnDeviceAnswerDto
16157
+ */
16158
+ 'processorStatus'?: string;
16159
+ /**
16160
+ * `processorResponse.statusMessage`: why a transaction failed, in Poynt\'s words. Stored, trimmed, as the session\'s errorMessage when the session ends without money; a blank one (the N950 sends a single space when it has none) is replaced by the server\'s own words.
16161
+ * @type {string}
16162
+ * @memberof NexiOnDeviceAnswerDto
16163
+ */
16164
+ 'processorStatusMessage'?: string;
16165
+ /**
16166
+ * Nexi\'s own reference of the transaction (the `npay-reference-number` reference), as the Nexi portal shows it. Kept, not checked.
16167
+ * @type {string}
16168
+ * @memberof NexiOnDeviceAnswerDto
16169
+ */
16170
+ 'nexiReferenceNumber'?: string;
16171
+ /**
16172
+ * When Poynt created the transaction, ISO 8601, as the device\'s clock says. Kept in the stored answer only; the payment event\'s time is the server\'s.
16173
+ * @type {string}
16174
+ * @memberof NexiOnDeviceAnswerDto
16175
+ */
16176
+ 'createdAt'?: string;
16177
+ }
16178
+
16179
+
16180
+ /**
16181
+ *
16182
+ * @export
16183
+ * @interface NexiOnDeviceResultViewDto
16184
+ */
16185
+ export interface NexiOnDeviceResultViewDto {
16186
+ /**
16187
+ * Opaque client token.
16188
+ * @type {string}
16189
+ * @memberof NexiOnDeviceResultViewDto
16190
+ */
16191
+ 'clientToken': string;
16192
+ /**
16193
+ * Internal session ID.
16194
+ * @type {string}
16195
+ * @memberof NexiOnDeviceResultViewDto
16196
+ */
16197
+ 'sessionId': string;
16198
+ /**
16199
+ * Viva transaction ID set after webhook completes.
16200
+ * @type {string}
16201
+ * @memberof NexiOnDeviceResultViewDto
16202
+ */
16203
+ 'providerTransactionId'?: string;
16204
+ /**
16205
+ *
16206
+ * @type {PaymentSessionStatus}
16207
+ * @memberof NexiOnDeviceResultViewDto
16208
+ */
16209
+ 'status': PaymentSessionStatus;
16210
+ /**
16211
+ * Amount in cents.
16212
+ * @type {number}
16213
+ * @memberof NexiOnDeviceResultViewDto
16214
+ */
16215
+ 'amount': number;
16216
+ /**
16217
+ * Currency.
16218
+ * @type {string}
16219
+ * @memberof NexiOnDeviceResultViewDto
16220
+ */
16221
+ 'currency': string;
16222
+ /**
16223
+ * Tip amount (cents).
16224
+ * @type {number}
16225
+ * @memberof NexiOnDeviceResultViewDto
16226
+ */
16227
+ 'tipAmount': number;
16228
+ /**
16229
+ * Surcharge amount (cents).
16230
+ * @type {number}
16231
+ * @memberof NexiOnDeviceResultViewDto
16232
+ */
16233
+ 'surchargeAmount': number;
16234
+ /**
16235
+ * Error code if failed.
16236
+ * @type {string}
16237
+ * @memberof NexiOnDeviceResultViewDto
16238
+ */
16239
+ 'errorCode'?: string;
16240
+ /**
16241
+ * Error message if failed.
16242
+ * @type {string}
16243
+ * @memberof NexiOnDeviceResultViewDto
16244
+ */
16245
+ 'errorMessage'?: string;
16246
+ /**
16247
+ * When the session was started (ISO 8601, UTC).
16248
+ * @type {string}
16249
+ * @memberof NexiOnDeviceResultViewDto
16250
+ */
16251
+ 'createdAt': string;
16252
+ /**
16253
+ * When the session last changed (ISO 8601, UTC).
16254
+ * @type {string}
16255
+ * @memberof NexiOnDeviceResultViewDto
16256
+ */
16257
+ 'updatedAt': string;
16258
+ /**
16259
+ * When the sale was written to the order and closed (ISO 8601, UTC); null while it is not.
16260
+ * @type {string}
16261
+ * @memberof NexiOnDeviceResultViewDto
16262
+ */
16263
+ 'closedAt'?: string;
16264
+ /**
16265
+ *
16266
+ * @type {NexiOnDeviceResultViewDtoTransaction}
16267
+ * @memberof NexiOnDeviceResultViewDto
16268
+ */
16269
+ 'transaction'?: NexiOnDeviceResultViewDtoTransaction;
16270
+ }
16271
+
16272
+
16273
+ /**
16274
+ * The payment event the order receives for this sale, built from the payment app\'s approval: the session\'s amount, the tip as a fee, the card\'s brand and masked number. Present while the session is a paid sale (SUCCESS or CLOSED), a repeated answer included; absent for a failure, a cancel, a refund or a revert.
16275
+ * @export
16276
+ * @interface NexiOnDeviceResultViewDtoTransaction
16277
+ */
16278
+ export interface NexiOnDeviceResultViewDtoTransaction {
16279
+ /**
16280
+ * Id of this payment: the payment provider\'s transaction id for a card payment, or an id the till made
16281
+ * @type {string}
16282
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16283
+ */
16284
+ 'id': string;
16285
+ /**
16286
+ * The payment\'s reference: the provider\'s session or merchant reference for a card payment, or, on a reversal, the id of the payment it reverses; null when there is none
16287
+ * @type {string}
16288
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16289
+ */
16290
+ 'referenceId': string | null;
16291
+ /**
16292
+ *
16293
+ * @type {PaymentProvider}
16294
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16295
+ */
16296
+ 'provider': PaymentProvider;
16297
+ /**
16298
+ *
16299
+ * @type {PaymentMethod}
16300
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16301
+ */
16302
+ 'type': PaymentMethod;
16303
+ /**
16304
+ *
16305
+ * @type {PaymentOutcomeStatus}
16306
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16307
+ */
16308
+ 'paymentOutcomeStatus'?: PaymentOutcomeStatus;
16309
+ /**
16310
+ * Amount paid in cents
16311
+ * @type {number}
16312
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16313
+ */
16314
+ 'amount': number;
16315
+ /**
16316
+ * Difference from cash rounding in cents
16317
+ * @type {number}
16318
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16319
+ */
16320
+ 'roundingDifference': number;
16321
+ /**
16322
+ * Raw data from payment provider, as it sent it
16323
+ * @type {object}
16324
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16325
+ */
16326
+ 'rawData': object;
16327
+ /**
16328
+ * When the payment was taken
16329
+ * @type {string}
16330
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16331
+ */
16332
+ 'createdAt': string;
16333
+ /**
16334
+ *
16335
+ * @type {TransactionDtoCardDetail}
16336
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16337
+ */
16338
+ 'cardDetail': TransactionDtoCardDetail | null;
16339
+ /**
16340
+ * The monetary amount of the voucher value that was *not* used and *not* refunded to the customer (i.e., the overage). This is applicable only when a voucher is used and its value exceeds the order total.
16341
+ * @type {number}
16342
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16343
+ */
16344
+ 'voucherForfeitedAmount'?: number | null;
16345
+ /**
16346
+ * The specific line items this transaction paid for. If null or empty, it was a pooled payment against the total bill.
16347
+ * @type {Array<string>}
16348
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16349
+ */
16350
+ 'lineItemIds'?: Array<string> | null;
16351
+ /**
16352
+ * The specific split part this transaction paid for. If null, it was not a payment for a split part.
16353
+ * @type {string}
16354
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16355
+ */
16356
+ 'splitPartId'?: string | null;
16357
+ /**
16358
+ * Detailed settlement allocations for this transaction. Use this for accurate refund and reconciliation logic, especially when one line item is split across multiple payments.
16359
+ * @type {Array<TransactionItemAllocationDto>}
16360
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16361
+ */
16362
+ 'itemAllocations'?: Array<TransactionItemAllocationDto> | null;
16363
+ /**
16364
+ *
16365
+ * @type {TransactionDtoDevice}
16366
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16367
+ */
16368
+ 'device'?: TransactionDtoDevice | null;
16369
+ /**
16370
+ *
16371
+ * @type {TransactionDtoCapturedBy}
16372
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16373
+ */
16374
+ 'capturedBy'?: TransactionDtoCapturedBy | null;
16375
+ /**
16376
+ * Indicates whether this transaction was processed as a pre-authorization.
16377
+ * @type {string}
16378
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16379
+ */
16380
+ 'label': string | null;
16381
+ /**
16382
+ *
16383
+ * @type {TransactionDtoFees}
16384
+ * @memberof NexiOnDeviceResultViewDtoTransaction
16385
+ */
16386
+ 'fees'?: TransactionDtoFees | null;
16387
+ }
16388
+
16389
+
16051
16390
  /**
16052
16391
  *
16053
16392
  * @export
@@ -18906,6 +19245,69 @@ export interface ParkPosOrderResponseDto {
18906
19245
  */
18907
19246
  'heldLineItems': number;
18908
19247
  }
19248
+ /**
19249
+ *
19250
+ * @export
19251
+ * @interface PartnerDto
19252
+ */
19253
+ export interface PartnerDto {
19254
+ /**
19255
+ * The partner\'s id, which never changes: a provider row links to it, and an order keeps it with the partner\'s name and logo as they were when the order was saved
19256
+ * @type {string}
19257
+ * @memberof PartnerDto
19258
+ */
19259
+ 'id': string;
19260
+ /**
19261
+ * The partner\'s key, which never changes once created: orders keep it. A platform Munchi connected before the partner standard has its channel name as key (Wolt, WoltStorefront, UberEats, Foodora, Bolt, ResQ); a partner on the partner standard a slug: words of lowercase letters and digits joined by single -, starting with a letter, 2 to 41 characters, that names no Munchi channel
19262
+ * @type {string}
19263
+ * @memberof PartnerDto
19264
+ */
19265
+ 'key': string;
19266
+ /**
19267
+ * The partner\'s name as the apps show it
19268
+ * @type {string}
19269
+ * @memberof PartnerDto
19270
+ */
19271
+ 'name': string;
19272
+ /**
19273
+ * The partner\'s logo, an https address; null when it has none
19274
+ * @type {string}
19275
+ * @memberof PartnerDto
19276
+ */
19277
+ 'logoUrl': string | null;
19278
+ /**
19279
+ * Whether the partner is active
19280
+ * @type {boolean}
19281
+ * @memberof PartnerDto
19282
+ */
19283
+ 'isActive': boolean;
19284
+ /**
19285
+ * When the partner was added, ISO 8601 in UTC
19286
+ * @type {string}
19287
+ * @memberof PartnerDto
19288
+ */
19289
+ 'createdAt': string;
19290
+ /**
19291
+ * When the partner was last changed, ISO 8601 in UTC
19292
+ * @type {string}
19293
+ * @memberof PartnerDto
19294
+ */
19295
+ 'updatedAt': string;
19296
+ }
19297
+ /**
19298
+ *
19299
+ * @export
19300
+ * @enum {string}
19301
+ */
19302
+
19303
+ export const PartnerWrite = {
19304
+ Created: 'created',
19305
+ Updated: 'updated'
19306
+ } as const;
19307
+
19308
+ export type PartnerWrite = typeof PartnerWrite[keyof typeof PartnerWrite];
19309
+
19310
+
18909
19311
  /**
18910
19312
  *
18911
19313
  * @export
@@ -24225,6 +24627,27 @@ export interface PosVivaMerchantDto {
24225
24627
  */
24226
24628
  'merchantId': string | null;
24227
24629
  }
24630
+ /**
24631
+ *
24632
+ * @export
24633
+ * @enum {string}
24634
+ */
24635
+
24636
+ export const PoyntPaymentStatus = {
24637
+ Authorized: 'AUTHORIZED',
24638
+ Canceled: 'CANCELED',
24639
+ Completed: 'COMPLETED',
24640
+ Declined: 'DECLINED',
24641
+ Failed: 'FAILED',
24642
+ Hold: 'HOLD',
24643
+ ReadCardOnly: 'READ_CARD_ONLY',
24644
+ Refunded: 'REFUNDED',
24645
+ Voided: 'VOIDED'
24646
+ } as const;
24647
+
24648
+ export type PoyntPaymentStatus = typeof PoyntPaymentStatus[keyof typeof PoyntPaymentStatus];
24649
+
24650
+
24228
24651
  /**
24229
24652
  *
24230
24653
  * @export
@@ -27494,6 +27917,154 @@ export const RecordManualStatus = {
27494
27917
  export type RecordManualStatus = typeof RecordManualStatus[keyof typeof RecordManualStatus];
27495
27918
 
27496
27919
 
27920
+ /**
27921
+ *
27922
+ * @export
27923
+ * @interface RecordNexiOnDeviceResultDto
27924
+ */
27925
+ export interface RecordNexiOnDeviceResultDto {
27926
+ /**
27927
+ * The sessionId the start, refund or revert route answered. A sale\'s and a refund\'s is the reference the payment app was given; a revert\'s names the reversal the void settles.
27928
+ * @type {string}
27929
+ * @memberof RecordNexiOnDeviceResultDto
27930
+ */
27931
+ 'sessionId': string;
27932
+ /**
27933
+ *
27934
+ * @type {RecordNexiOnDeviceResultDtoAnswer}
27935
+ * @memberof RecordNexiOnDeviceResultDto
27936
+ */
27937
+ 'answer': RecordNexiOnDeviceResultDtoAnswer;
27938
+ }
27939
+ /**
27940
+ * The payment app\'s answer, flattened from Poynt\'s Payment by the app.
27941
+ * @export
27942
+ * @interface RecordNexiOnDeviceResultDtoAnswer
27943
+ */
27944
+ export interface RecordNexiOnDeviceResultDtoAnswer {
27945
+ /**
27946
+ *
27947
+ * @type {PoyntPaymentStatus}
27948
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
27949
+ */
27950
+ 'status': PoyntPaymentStatus;
27951
+ /**
27952
+ * The reference the payment app was given, read back from the transaction\'s references: the session\'s sessionId. Required on a sale\'s or a refund\'s approval, which is refused when it is not the session\'s. A decline or a cancel may come without it, and then only ends the wait. Not read on a revert: Poynt\'s void carries the sale\'s references.
27953
+ * @type {string}
27954
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
27955
+ */
27956
+ 'reference'?: string;
27957
+ /**
27958
+ * Poynt\'s `Transaction.id`. Required on an approval. On a sale or a refund it becomes the session\'s providerTransactionId, and one id settles one session only. On a revert it is the void\'s own transaction or the sale\'s, and it or parentId must be the sale\'s; it is kept in the stored answer only.
27959
+ * @type {string}
27960
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
27961
+ */
27962
+ 'transactionId'?: string;
27963
+ /**
27964
+ * Poynt\'s `Transaction.parentId`: on a void, the sale\'s transaction id. Absent on a sale, and on a refund, which Poynt does not link to its sale (a non-referenced refund).
27965
+ * @type {string}
27966
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
27967
+ */
27968
+ 'parentId'?: string;
27969
+ /**
27970
+ * Poynt\'s `Transaction.status`. A sale\'s approval must carry CAPTURED, a refund\'s REFUNDED, a revert\'s VOIDED; any other is kept for ops and the session is not settled.
27971
+ * @type {string}
27972
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
27973
+ */
27974
+ 'transactionStatus'?: string;
27975
+ /**
27976
+ * Poynt\'s `Transaction.action` (SALE, REFUND). Kept in the stored answer, not checked.
27977
+ * @type {string}
27978
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
27979
+ */
27980
+ 'transactionAction'?: string;
27981
+ /**
27982
+ * Poynt\'s `Transaction.partiallyApproved`. An approval for part of the amount is kept for ops and the session is not settled. Absent reads as false.
27983
+ * @type {boolean}
27984
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
27985
+ */
27986
+ 'partiallyApproved'?: boolean;
27987
+ /**
27988
+ * How many of the Payment\'s transactions Poynt approved. Absent or 1 is the normal case; 2 or more is kept for ops and the session is not settled.
27989
+ * @type {number}
27990
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
27991
+ */
27992
+ 'approvedTransactionCount'?: number;
27993
+ /**
27994
+ * The currency charged, ISO 4217 alpha code (`amounts.currency`). Required on a sale\'s or a refund\'s approval, and must be the session\'s.
27995
+ * @type {string}
27996
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
27997
+ */
27998
+ 'currency'?: string;
27999
+ /**
28000
+ * What the card was charged or refunded, in cents (`amounts.transactionAmount`), tip included. Required on a sale\'s or a refund\'s approval: a sale\'s must be the session\'s amount plus its tip, a refund\'s the refund\'s amount. One that does not match is kept for ops and the session is not settled. Not checked on a revert, which gives back the whole sale.
28001
+ * @type {number}
28002
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
28003
+ */
28004
+ 'transactionAmount'?: number;
28005
+ /**
28006
+ * The tip in `amounts.tipAmount`, in cents. Kept in the stored answer; the payment event\'s tip is the session\'s, since the payment app takes no tip of its own.
28007
+ * @type {number}
28008
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
28009
+ */
28010
+ 'tipAmount'?: number;
28011
+ /**
28012
+ * The card brand, Poynt\'s `card.type`.
28013
+ * @type {string}
28014
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
28015
+ */
28016
+ 'cardType'?: string;
28017
+ /**
28018
+ * The card\'s first six digits (`card.numberFirst6`); they tell a benefit card. Six digits exactly.
28019
+ * @type {string}
28020
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
28021
+ */
28022
+ 'numberFirst6'?: string;
28023
+ /**
28024
+ * The card\'s last four digits (`card.numberLast4`). A refund whose card differs from the sale\'s is recorded and logged, never refused. Four digits exactly.
28025
+ * @type {string}
28026
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
28027
+ */
28028
+ 'numberLast4'?: string;
28029
+ /**
28030
+ * The issuer\'s approval code (`processorResponse.approvalCode`; Poynt\'s top-level `approvalCode` is null on the N950). Optional: shown on the payment event, never required.
28031
+ * @type {string}
28032
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
28033
+ */
28034
+ 'approvalCode'?: string;
28035
+ /**
28036
+ * The acquirer\'s retrieval reference number (`processorResponse.retrievalRefNum`).
28037
+ * @type {string}
28038
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
28039
+ */
28040
+ 'retrievalRefNum'?: string;
28041
+ /**
28042
+ * `processorResponse.status`: Successful or Failure. Kept, not checked.
28043
+ * @type {string}
28044
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
28045
+ */
28046
+ 'processorStatus'?: string;
28047
+ /**
28048
+ * `processorResponse.statusMessage`: why a transaction failed, in Poynt\'s words. Stored, trimmed, as the session\'s errorMessage when the session ends without money; a blank one (the N950 sends a single space when it has none) is replaced by the server\'s own words.
28049
+ * @type {string}
28050
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
28051
+ */
28052
+ 'processorStatusMessage'?: string;
28053
+ /**
28054
+ * Nexi\'s own reference of the transaction (the `npay-reference-number` reference), as the Nexi portal shows it. Kept, not checked.
28055
+ * @type {string}
28056
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
28057
+ */
28058
+ 'nexiReferenceNumber'?: string;
28059
+ /**
28060
+ * When Poynt created the transaction, ISO 8601, as the device\'s clock says. Kept in the stored answer only; the payment event\'s time is the server\'s.
28061
+ * @type {string}
28062
+ * @memberof RecordNexiOnDeviceResultDtoAnswer
28063
+ */
28064
+ 'createdAt'?: string;
28065
+ }
28066
+
28067
+
27497
28068
  /**
27498
28069
  *
27499
28070
  * @export
@@ -32085,6 +32656,76 @@ export interface SaveEpassiCredentialsDto {
32085
32656
  */
32086
32657
  'posName': string;
32087
32658
  }
32659
+ /**
32660
+ *
32661
+ * @export
32662
+ * @interface SavedPartnerDto
32663
+ */
32664
+ export interface SavedPartnerDto {
32665
+ /**
32666
+ *
32667
+ * @type {PartnerWrite}
32668
+ * @memberof SavedPartnerDto
32669
+ */
32670
+ 'write': PartnerWrite;
32671
+ /**
32672
+ *
32673
+ * @type {SavedPartnerDtoPartner}
32674
+ * @memberof SavedPartnerDto
32675
+ */
32676
+ 'partner': SavedPartnerDtoPartner;
32677
+ }
32678
+
32679
+
32680
+ /**
32681
+ * The partner as it is after the save; its key is the one it was saved under, which a key asked in another case is changed to
32682
+ * @export
32683
+ * @interface SavedPartnerDtoPartner
32684
+ */
32685
+ export interface SavedPartnerDtoPartner {
32686
+ /**
32687
+ * The partner\'s id, which never changes: a provider row links to it, and an order keeps it with the partner\'s name and logo as they were when the order was saved
32688
+ * @type {string}
32689
+ * @memberof SavedPartnerDtoPartner
32690
+ */
32691
+ 'id': string;
32692
+ /**
32693
+ * The partner\'s key, which never changes once created: orders keep it. A platform Munchi connected before the partner standard has its channel name as key (Wolt, WoltStorefront, UberEats, Foodora, Bolt, ResQ); a partner on the partner standard a slug: words of lowercase letters and digits joined by single -, starting with a letter, 2 to 41 characters, that names no Munchi channel
32694
+ * @type {string}
32695
+ * @memberof SavedPartnerDtoPartner
32696
+ */
32697
+ 'key': string;
32698
+ /**
32699
+ * The partner\'s name as the apps show it
32700
+ * @type {string}
32701
+ * @memberof SavedPartnerDtoPartner
32702
+ */
32703
+ 'name': string;
32704
+ /**
32705
+ * The partner\'s logo, an https address; null when it has none
32706
+ * @type {string}
32707
+ * @memberof SavedPartnerDtoPartner
32708
+ */
32709
+ 'logoUrl': string | null;
32710
+ /**
32711
+ * Whether the partner is active
32712
+ * @type {boolean}
32713
+ * @memberof SavedPartnerDtoPartner
32714
+ */
32715
+ 'isActive': boolean;
32716
+ /**
32717
+ * When the partner was added, ISO 8601 in UTC
32718
+ * @type {string}
32719
+ * @memberof SavedPartnerDtoPartner
32720
+ */
32721
+ 'createdAt': string;
32722
+ /**
32723
+ * When the partner was last changed, ISO 8601 in UTC
32724
+ * @type {string}
32725
+ * @memberof SavedPartnerDtoPartner
32726
+ */
32727
+ 'updatedAt': string;
32728
+ }
32088
32729
  /**
32089
32730
  *
32090
32731
  * @export
@@ -38906,6 +39547,31 @@ export interface UpsertNexiDto {
38906
39547
  */
38907
39548
  'password'?: string;
38908
39549
  }
39550
+ /**
39551
+ *
39552
+ * @export
39553
+ * @interface UpsertPartnerDto
39554
+ */
39555
+ export interface UpsertPartnerDto {
39556
+ /**
39557
+ * The partner\'s name as the apps show it, 1 to 60 characters once the spaces around it are removed
39558
+ * @type {string}
39559
+ * @memberof UpsertPartnerDto
39560
+ */
39561
+ 'name': string;
39562
+ /**
39563
+ * The partner\'s logo, an https address of at most 2048 characters (Munchi keeps its logos on Google Cloud Storage). null removes it; absent: a new partner has none, and a partner already there keeps its own
39564
+ * @type {string}
39565
+ * @memberof UpsertPartnerDto
39566
+ */
39567
+ 'logoUrl'?: string | null;
39568
+ /**
39569
+ * Whether the partner is active. Absent: a new partner is active, and a partner already there keeps its own
39570
+ * @type {boolean}
39571
+ * @memberof UpsertPartnerDto
39572
+ */
39573
+ 'isActive'?: boolean;
39574
+ }
38909
39575
  /**
38910
39576
  *
38911
39577
  * @export
@@ -39577,11 +40243,17 @@ export interface VendureSellerUpsertDto {
39577
40243
  */
39578
40244
  'enabled': boolean;
39579
40245
  /**
39580
- * The Clerk user ids of the venue\'s owners. Each is trimmed and added to the owners the venue has; none is ever removed. An empty list or none keeps them as they are
40246
+ * The Clerk user ids of the venue\'s owners. Each is trimmed and added to the owners the venue has; an owner is removed only when owners_removed lists it. An empty list or none keeps them as they are
39581
40247
  * @type {Array<string>}
39582
40248
  * @memberof VendureSellerUpsertDto
39583
40249
  */
39584
40250
  'owners'?: Array<string>;
40251
+ /**
40252
+ * The owner keys Vendure removed from the venue in this change: a Clerk user\'s externalId or a Clerk user id. Each is trimmed and removed from the owners the venue has, unless owners sends it too; an owner not listed here is never removed. Absent or empty means nothing was removed. Vendure builds from before its remove-owner route never send it
40253
+ * @type {Array<string>}
40254
+ * @memberof VendureSellerUpsertDto
40255
+ */
40256
+ 'owners_removed'?: Array<string>;
39585
40257
  /**
39586
40258
  * The venue\'s opening hours, seven days Sunday first, stored on the venue as sent: each day { enabled, lapses: [{ open: { hour, minute }, close: { hour, minute } }] }. Only checked to be a list. An empty list or none keeps the stored schedule
39587
40259
  * @type {Array<object>}
@@ -59749,6 +60421,40 @@ export const OpsApiAxiosParamCreator = function (configuration?: Configuration)
59749
60421
 
59750
60422
 
59751
60423
 
60424
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
60425
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
60426
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
60427
+
60428
+ return {
60429
+ url: toPathString(localVarUrlObj),
60430
+ options: localVarRequestOptions,
60431
+ };
60432
+ },
60433
+ /**
60434
+ * The partner directory: every delivery platform Munchi works with, active or not, by key, with its name and logo. Read from the cache, which a save clears.
60435
+ * @summary Every delivery partner, by key
60436
+ * @param {*} [options] Override http request option.
60437
+ * @throws {RequiredError}
60438
+ */
60439
+ listPartners: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
60440
+ const localVarPath = `/api/v1/ops/partners`;
60441
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
60442
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
60443
+ let baseOptions;
60444
+ if (configuration) {
60445
+ baseOptions = configuration.baseOptions;
60446
+ }
60447
+
60448
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
60449
+ const localVarHeaderParameter = {} as any;
60450
+ const localVarQueryParameter = {} as any;
60451
+
60452
+ // authentication JWT-auth required
60453
+ // http bearer authentication required
60454
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
60455
+
60456
+
60457
+
59752
60458
  setSearchParams(localVarUrlObj, localVarQueryParameter);
59753
60459
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
59754
60460
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -59839,6 +60545,50 @@ export const OpsApiAxiosParamCreator = function (configuration?: Configuration)
59839
60545
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
59840
60546
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
59841
60547
 
60548
+ return {
60549
+ url: toPathString(localVarUrlObj),
60550
+ options: localVarRequestOptions,
60551
+ };
60552
+ },
60553
+ /**
60554
+ * Creates the partner under the key, or changes the one there. The key itself never changes: orders keep it. A platform Munchi connected before the partner standard uses its channel name as key. The key is read in any case and saved as a platform\'s channel name (wolt as Wolt) or in lowercase (Fin-Delivery as fin-delivery); the answer\'s partner.key is the key saved. Only the fields sent change a partner already there. The directory\'s cache is cleared after the save.
60555
+ * @summary Add a delivery partner, or change its name, logo or active state
60556
+ * @param {string} key The partner\&#39;s key
60557
+ * @param {UpsertPartnerDto} upsertPartnerDto
60558
+ * @param {*} [options] Override http request option.
60559
+ * @throws {RequiredError}
60560
+ */
60561
+ upsertPartner: async (key: string, upsertPartnerDto: UpsertPartnerDto, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
60562
+ // verify required parameter 'key' is not null or undefined
60563
+ assertParamExists('upsertPartner', 'key', key)
60564
+ // verify required parameter 'upsertPartnerDto' is not null or undefined
60565
+ assertParamExists('upsertPartner', 'upsertPartnerDto', upsertPartnerDto)
60566
+ const localVarPath = `/api/v1/ops/partners/{key}`
60567
+ .replace(`{${"key"}}`, encodeURIComponent(String(key)));
60568
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
60569
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
60570
+ let baseOptions;
60571
+ if (configuration) {
60572
+ baseOptions = configuration.baseOptions;
60573
+ }
60574
+
60575
+ const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
60576
+ const localVarHeaderParameter = {} as any;
60577
+ const localVarQueryParameter = {} as any;
60578
+
60579
+ // authentication JWT-auth required
60580
+ // http bearer authentication required
60581
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
60582
+
60583
+
60584
+
60585
+ localVarHeaderParameter['Content-Type'] = 'application/json';
60586
+
60587
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
60588
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
60589
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
60590
+ localVarRequestOptions.data = serializeDataIfNeeded(upsertPartnerDto, localVarRequestOptions, configuration)
60591
+
59842
60592
  return {
59843
60593
  url: toPathString(localVarUrlObj),
59844
60594
  options: localVarRequestOptions,
@@ -59889,6 +60639,16 @@ export const OpsApiFp = function(configuration?: Configuration) {
59889
60639
  const localVarAxiosArgs = await localVarAxiosParamCreator.disconnectDeliveryPlatform(venueId, channel, options);
59890
60640
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
59891
60641
  },
60642
+ /**
60643
+ * The partner directory: every delivery platform Munchi works with, active or not, by key, with its name and logo. Read from the cache, which a save clears.
60644
+ * @summary Every delivery partner, by key
60645
+ * @param {*} [options] Override http request option.
60646
+ * @throws {RequiredError}
60647
+ */
60648
+ async listPartners(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<PartnerDto>>> {
60649
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listPartners(options);
60650
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
60651
+ },
59892
60652
  /**
59893
60653
  * Undoes what licences turned off. Per venue, by venue id: turns on the provider rows the licence turned off that are still there and still off, and empties the hold. A dry run unless dryRun is false; call again until holdsLeft is 0. The next unpaid event turns the rows off again.
59894
60654
  * @summary Turn back on the kiosk and online store rows licence enforcement turned off
@@ -59912,6 +60672,18 @@ export const OpsApiFp = function(configuration?: Configuration) {
59912
60672
  const localVarAxiosArgs = await localVarAxiosParamCreator.searchVenues(search, limit, options);
59913
60673
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
59914
60674
  },
60675
+ /**
60676
+ * Creates the partner under the key, or changes the one there. The key itself never changes: orders keep it. A platform Munchi connected before the partner standard uses its channel name as key. The key is read in any case and saved as a platform\'s channel name (wolt as Wolt) or in lowercase (Fin-Delivery as fin-delivery); the answer\'s partner.key is the key saved. Only the fields sent change a partner already there. The directory\'s cache is cleared after the save.
60677
+ * @summary Add a delivery partner, or change its name, logo or active state
60678
+ * @param {string} key The partner\&#39;s key
60679
+ * @param {UpsertPartnerDto} upsertPartnerDto
60680
+ * @param {*} [options] Override http request option.
60681
+ * @throws {RequiredError}
60682
+ */
60683
+ async upsertPartner(key: string, upsertPartnerDto: UpsertPartnerDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SavedPartnerDto>> {
60684
+ const localVarAxiosArgs = await localVarAxiosParamCreator.upsertPartner(key, upsertPartnerDto, options);
60685
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
60686
+ },
59915
60687
  }
59916
60688
  };
59917
60689
 
@@ -59954,6 +60726,15 @@ export const OpsApiFactory = function (configuration?: Configuration, basePath?:
59954
60726
  disconnectDeliveryPlatform(venueId: number, channel: DeliveryPlatformOpsConnect, options?: any): AxiosPromise<DisconnectedDeliveryPlatformDto> {
59955
60727
  return localVarFp.disconnectDeliveryPlatform(venueId, channel, options).then((request) => request(axios, basePath));
59956
60728
  },
60729
+ /**
60730
+ * The partner directory: every delivery platform Munchi works with, active or not, by key, with its name and logo. Read from the cache, which a save clears.
60731
+ * @summary Every delivery partner, by key
60732
+ * @param {*} [options] Override http request option.
60733
+ * @throws {RequiredError}
60734
+ */
60735
+ listPartners(options?: any): AxiosPromise<Array<PartnerDto>> {
60736
+ return localVarFp.listPartners(options).then((request) => request(axios, basePath));
60737
+ },
59957
60738
  /**
59958
60739
  * Undoes what licences turned off. Per venue, by venue id: turns on the provider rows the licence turned off that are still there and still off, and empties the hold. A dry run unless dryRun is false; call again until holdsLeft is 0. The next unpaid event turns the rows off again.
59959
60740
  * @summary Turn back on the kiosk and online store rows licence enforcement turned off
@@ -59975,6 +60756,17 @@ export const OpsApiFactory = function (configuration?: Configuration, basePath?:
59975
60756
  searchVenues(search: string, limit?: number, options?: any): AxiosPromise<Array<VenueFoundDto>> {
59976
60757
  return localVarFp.searchVenues(search, limit, options).then((request) => request(axios, basePath));
59977
60758
  },
60759
+ /**
60760
+ * Creates the partner under the key, or changes the one there. The key itself never changes: orders keep it. A platform Munchi connected before the partner standard uses its channel name as key. The key is read in any case and saved as a platform\'s channel name (wolt as Wolt) or in lowercase (Fin-Delivery as fin-delivery); the answer\'s partner.key is the key saved. Only the fields sent change a partner already there. The directory\'s cache is cleared after the save.
60761
+ * @summary Add a delivery partner, or change its name, logo or active state
60762
+ * @param {string} key The partner\&#39;s key
60763
+ * @param {UpsertPartnerDto} upsertPartnerDto
60764
+ * @param {*} [options] Override http request option.
60765
+ * @throws {RequiredError}
60766
+ */
60767
+ upsertPartner(key: string, upsertPartnerDto: UpsertPartnerDto, options?: any): AxiosPromise<SavedPartnerDto> {
60768
+ return localVarFp.upsertPartner(key, upsertPartnerDto, options).then((request) => request(axios, basePath));
60769
+ },
59978
60770
  };
59979
60771
  };
59980
60772
 
@@ -60016,6 +60808,15 @@ export interface OpsApiInterface {
60016
60808
  */
60017
60809
  disconnectDeliveryPlatform(venueId: number, channel: DeliveryPlatformOpsConnect, options?: AxiosRequestConfig): AxiosPromise<DisconnectedDeliveryPlatformDto>;
60018
60810
 
60811
+ /**
60812
+ * The partner directory: every delivery platform Munchi works with, active or not, by key, with its name and logo. Read from the cache, which a save clears.
60813
+ * @summary Every delivery partner, by key
60814
+ * @param {*} [options] Override http request option.
60815
+ * @throws {RequiredError}
60816
+ * @memberof OpsApiInterface
60817
+ */
60818
+ listPartners(options?: AxiosRequestConfig): AxiosPromise<Array<PartnerDto>>;
60819
+
60019
60820
  /**
60020
60821
  * Undoes what licences turned off. Per venue, by venue id: turns on the provider rows the licence turned off that are still there and still off, and empties the hold. A dry run unless dryRun is false; call again until holdsLeft is 0. The next unpaid event turns the rows off again.
60021
60822
  * @summary Turn back on the kiosk and online store rows licence enforcement turned off
@@ -60037,6 +60838,17 @@ export interface OpsApiInterface {
60037
60838
  */
60038
60839
  searchVenues(search: string, limit?: number, options?: AxiosRequestConfig): AxiosPromise<Array<VenueFoundDto>>;
60039
60840
 
60841
+ /**
60842
+ * Creates the partner under the key, or changes the one there. The key itself never changes: orders keep it. A platform Munchi connected before the partner standard uses its channel name as key. The key is read in any case and saved as a platform\'s channel name (wolt as Wolt) or in lowercase (Fin-Delivery as fin-delivery); the answer\'s partner.key is the key saved. Only the fields sent change a partner already there. The directory\'s cache is cleared after the save.
60843
+ * @summary Add a delivery partner, or change its name, logo or active state
60844
+ * @param {string} key The partner\&#39;s key
60845
+ * @param {UpsertPartnerDto} upsertPartnerDto
60846
+ * @param {*} [options] Override http request option.
60847
+ * @throws {RequiredError}
60848
+ * @memberof OpsApiInterface
60849
+ */
60850
+ upsertPartner(key: string, upsertPartnerDto: UpsertPartnerDto, options?: AxiosRequestConfig): AxiosPromise<SavedPartnerDto>;
60851
+
60040
60852
  }
60041
60853
 
60042
60854
  /**
@@ -60084,6 +60896,17 @@ export class OpsApi extends BaseAPI implements OpsApiInterface {
60084
60896
  return OpsApiFp(this.configuration).disconnectDeliveryPlatform(venueId, channel, options).then((request) => request(this.axios, this.basePath));
60085
60897
  }
60086
60898
 
60899
+ /**
60900
+ * The partner directory: every delivery platform Munchi works with, active or not, by key, with its name and logo. Read from the cache, which a save clears.
60901
+ * @summary Every delivery partner, by key
60902
+ * @param {*} [options] Override http request option.
60903
+ * @throws {RequiredError}
60904
+ * @memberof OpsApi
60905
+ */
60906
+ public listPartners(options?: AxiosRequestConfig) {
60907
+ return OpsApiFp(this.configuration).listPartners(options).then((request) => request(this.axios, this.basePath));
60908
+ }
60909
+
60087
60910
  /**
60088
60911
  * Undoes what licences turned off. Per venue, by venue id: turns on the provider rows the licence turned off that are still there and still off, and empties the hold. A dry run unless dryRun is false; call again until holdsLeft is 0. The next unpaid event turns the rows off again.
60089
60912
  * @summary Turn back on the kiosk and online store rows licence enforcement turned off
@@ -60108,6 +60931,19 @@ export class OpsApi extends BaseAPI implements OpsApiInterface {
60108
60931
  public searchVenues(search: string, limit?: number, options?: AxiosRequestConfig) {
60109
60932
  return OpsApiFp(this.configuration).searchVenues(search, limit, options).then((request) => request(this.axios, this.basePath));
60110
60933
  }
60934
+
60935
+ /**
60936
+ * Creates the partner under the key, or changes the one there. The key itself never changes: orders keep it. A platform Munchi connected before the partner standard uses its channel name as key. The key is read in any case and saved as a platform\'s channel name (wolt as Wolt) or in lowercase (Fin-Delivery as fin-delivery); the answer\'s partner.key is the key saved. Only the fields sent change a partner already there. The directory\'s cache is cleared after the save.
60937
+ * @summary Add a delivery partner, or change its name, logo or active state
60938
+ * @param {string} key The partner\&#39;s key
60939
+ * @param {UpsertPartnerDto} upsertPartnerDto
60940
+ * @param {*} [options] Override http request option.
60941
+ * @throws {RequiredError}
60942
+ * @memberof OpsApi
60943
+ */
60944
+ public upsertPartner(key: string, upsertPartnerDto: UpsertPartnerDto, options?: AxiosRequestConfig) {
60945
+ return OpsApiFp(this.configuration).upsertPartner(key, upsertPartnerDto, options).then((request) => request(this.axios, this.basePath));
60946
+ }
60111
60947
  }
60112
60948
 
60113
60949
 
@@ -64625,6 +65461,47 @@ export const PaymentSessionApiAxiosParamCreator = function (configuration?: Conf
64625
65461
  options: localVarRequestOptions,
64626
65462
  };
64627
65463
  },
65464
+ /**
65465
+ * Stores a DISPATCHED Nexi session for a sale the device\'s own payment app (Poynt, on the Newland N950) will take. Its sessionId is the reference the payment app is given; the device then reports the app\'s answer to nexi/on-device/result, and the server writes the order. Refused for a venue whose channel does not pay by Nexi. Nexi is not called, nothing follows the session, and it is never cancelled through :clientToken/cancel. Idempotent via X-Idempotency-Key. A signed-in ticket only.
65466
+ * @summary Start a Nexi sale on the device\'s own card reader
65467
+ * @param {InitiateWorldlineA2aSessionDto} initiateWorldlineA2aSessionDto
65468
+ * @param {string} [xIdempotencyKey] Client-generated UUID. A key this venue\&#39;s on-device sale already holds answers that sale as it stands; a key any other payment holds is refused.
65469
+ * @param {*} [options] Override http request option.
65470
+ * @throws {RequiredError}
65471
+ */
65472
+ initiateNexiOnDeviceSession: async (initiateWorldlineA2aSessionDto: InitiateWorldlineA2aSessionDto, xIdempotencyKey?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
65473
+ // verify required parameter 'initiateWorldlineA2aSessionDto' is not null or undefined
65474
+ assertParamExists('initiateNexiOnDeviceSession', 'initiateWorldlineA2aSessionDto', initiateWorldlineA2aSessionDto)
65475
+ const localVarPath = `/api/v1/payment-session/nexi/on-device`;
65476
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
65477
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
65478
+ let baseOptions;
65479
+ if (configuration) {
65480
+ baseOptions = configuration.baseOptions;
65481
+ }
65482
+
65483
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
65484
+ const localVarHeaderParameter = {} as any;
65485
+ const localVarQueryParameter = {} as any;
65486
+
65487
+ if (xIdempotencyKey != null) {
65488
+ localVarHeaderParameter['X-Idempotency-Key'] = String(xIdempotencyKey);
65489
+ }
65490
+
65491
+
65492
+
65493
+ localVarHeaderParameter['Content-Type'] = 'application/json';
65494
+
65495
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
65496
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
65497
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
65498
+ localVarRequestOptions.data = serializeDataIfNeeded(initiateWorldlineA2aSessionDto, localVarRequestOptions, configuration)
65499
+
65500
+ return {
65501
+ url: toPathString(localVarUrlObj),
65502
+ options: localVarRequestOptions,
65503
+ };
65504
+ },
64628
65505
  /**
64629
65506
  * Saves the session first, its sessionId being the sale\'s external_id at Nexi, then asks Nexi to start the sale and answer at once. The customer then taps on the terminal; Cloud Tasks ask Nexi until the sale ends. When Nexi answers paid, in this order: Nexi\'s answer is kept on the session (the status unchanged), Nexi is confirmed (which takes the money), the session is stored SUCCESS, the payment is written on the order (reconciliation, which announces the settled order on the venue\'s channel), and only then SUCCESS is announced on the session\'s channel. So nothing tells the till \'paid\' before the money is taken. If the order cannot take the payment, it is asked again for up to 5 minutes, then the charge goes to the till as its own order and a person is alerted. Follow the session on the Ably channel nexi.<channel>.requests.<sessionId> (event payment:status-changed) or with GET /payment-session/:clientToken, which shows SUCCESS from the moment Nexi took the money. A tip or surcharge typed on the terminal is recorded from Nexi\'s answer. POST /payment-session/:clientToken/cancel cancels it as Nexi documents it, a confirm as failed; the outcome is still Nexi\'s answer, so a sale Nexi was already confirmed paid for ends paid. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the session it started without asking Nexi again. A signed-in ticket only: the service key is not accepted (R27).
64630
65507
  * @summary Start a card payment on the station\'s Nexi terminal
@@ -65044,6 +65921,42 @@ export const PaymentSessionApiAxiosParamCreator = function (configuration?: Conf
65044
65921
  options: localVarRequestOptions,
65045
65922
  };
65046
65923
  },
65924
+ /**
65925
+ * Settles an on-device Nexi sale, refund or revert with Poynt\'s answer, decided by Poynt\'s payment status. COMPLETED makes a sale SUCCESS, REFUNDED makes a refund REFUNDED, VOIDED makes a revert REFUNDING; reconciliation then writes the payment or the reversal onto the order. DECLINED makes it FAILED (payment.declined), CANCELED makes it CANCELLED, FAILED makes it FAILED. A sale\'s or a refund\'s answer carries the session\'s sessionId as its reference, except a decline or a cancel, which may come without one; a revert\'s names the sale\'s Poynt transaction as its transactionId or parentId. An approval may replace a failure or a cancel (a payment recovered after the app was killed); an end without money replaces only the wait. An answer that may have moved money but cannot be recorded (AUTHORIZED, HOLD, READ_CARD_ONLY, another kind\'s approval, a partial approval, several approvals, another amount or currency) is kept on the session, which stays DISPATCHED, ops are alerted, and the request is refused. A refund to another card than the sale\'s is recorded and logged. A repeated answer is answered as the session stands. The payment event\'s time is the server\'s. A signed-in ticket only.
65926
+ * @summary Record the device\'s payment app answer for an on-device Nexi session
65927
+ * @param {RecordNexiOnDeviceResultDto} recordNexiOnDeviceResultDto
65928
+ * @param {*} [options] Override http request option.
65929
+ * @throws {RequiredError}
65930
+ */
65931
+ recordNexiOnDeviceResult: async (recordNexiOnDeviceResultDto: RecordNexiOnDeviceResultDto, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
65932
+ // verify required parameter 'recordNexiOnDeviceResultDto' is not null or undefined
65933
+ assertParamExists('recordNexiOnDeviceResult', 'recordNexiOnDeviceResultDto', recordNexiOnDeviceResultDto)
65934
+ const localVarPath = `/api/v1/payment-session/nexi/on-device/result`;
65935
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
65936
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
65937
+ let baseOptions;
65938
+ if (configuration) {
65939
+ baseOptions = configuration.baseOptions;
65940
+ }
65941
+
65942
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
65943
+ const localVarHeaderParameter = {} as any;
65944
+ const localVarQueryParameter = {} as any;
65945
+
65946
+
65947
+
65948
+ localVarHeaderParameter['Content-Type'] = 'application/json';
65949
+
65950
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
65951
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
65952
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
65953
+ localVarRequestOptions.data = serializeDataIfNeeded(recordNexiOnDeviceResultDto, localVarRequestOptions, configuration)
65954
+
65955
+ return {
65956
+ url: toPathString(localVarUrlObj),
65957
+ options: localVarRequestOptions,
65958
+ };
65959
+ },
65047
65960
  /**
65048
65961
  * Settles a handheld Worldline sale, refund or revert with the payment app\'s answer (WPI_RESPONSE). A sale\'s or a refund\'s approval carries the session\'s sessionId as its reference, and so does its decline, except that WPI may answer a decline or a cancel without one; a revert\'s (WPI_SVC_CANCEL_PAYMENT) carries none and names the sale\'s paymentSolutionReference instead. An approval makes a sale SUCCESS, a refund REFUNDED and a revert REFUNDING; reconciliation then writes the payment or the reversal onto the order. A sale\'s approval may carry a tip the cardholder added on the payment app: it is recorded with the session\'s tip. A failure makes it FAILED, or CANCELLED when the app reports WPI_ERR_COND_USER_CANCEL. An approval may replace a failure; a failure never replaces anything. A repeated answer is answered as the session stands. The payment event\'s time is the server\'s. A signed-in ticket only.
65049
65962
  * @summary Record the Worldline payment app\'s answer for a handheld session
@@ -65140,6 +66053,42 @@ export const PaymentSessionApiAxiosParamCreator = function (configuration?: Conf
65140
66053
 
65141
66054
 
65142
66055
 
66056
+ localVarHeaderParameter['Content-Type'] = 'application/json';
66057
+
66058
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
66059
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
66060
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
66061
+ localVarRequestOptions.data = serializeDataIfNeeded(reverseSessionDto, localVarRequestOptions, configuration)
66062
+
66063
+ return {
66064
+ url: toPathString(localVarUrlObj),
66065
+ options: localVarRequestOptions,
66066
+ };
66067
+ },
66068
+ /**
66069
+ * Stores a DISPATCHED refund session for the amount asked (what is left of the sale when none is), within what is left of the sale. Only a sale the device\'s own card reader took is accepted. The device then makes the refund on its payment app with the card presented (Poynt\'s non-referenced refund) and the refund\'s sessionId as its reference, and reports the answer to nexi/on-device/result. Does NOT write a reversal onto the order: the refund plan records it. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
66070
+ * @summary Start a card refund of an on-device Nexi sale
66071
+ * @param {ReverseSessionDto} reverseSessionDto
66072
+ * @param {*} [options] Override http request option.
66073
+ * @throws {RequiredError}
66074
+ */
66075
+ refundNexiOnDeviceSession: async (reverseSessionDto: ReverseSessionDto, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
66076
+ // verify required parameter 'reverseSessionDto' is not null or undefined
66077
+ assertParamExists('refundNexiOnDeviceSession', 'reverseSessionDto', reverseSessionDto)
66078
+ const localVarPath = `/api/v1/payment-session/nexi/on-device/refund`;
66079
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
66080
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
66081
+ let baseOptions;
66082
+ if (configuration) {
66083
+ baseOptions = configuration.baseOptions;
66084
+ }
66085
+
66086
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
66087
+ const localVarHeaderParameter = {} as any;
66088
+ const localVarQueryParameter = {} as any;
66089
+
66090
+
66091
+
65143
66092
  localVarHeaderParameter['Content-Type'] = 'application/json';
65144
66093
 
65145
66094
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -65361,6 +66310,42 @@ export const PaymentSessionApiAxiosParamCreator = function (configuration?: Conf
65361
66310
 
65362
66311
 
65363
66312
 
66313
+ localVarHeaderParameter['Content-Type'] = 'application/json';
66314
+
66315
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
66316
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
66317
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
66318
+ localVarRequestOptions.data = serializeDataIfNeeded(reverseSessionDto, localVarRequestOptions, configuration)
66319
+
66320
+ return {
66321
+ url: toPathString(localVarUrlObj),
66322
+ options: localVarRequestOptions,
66323
+ };
66324
+ },
66325
+ /**
66326
+ * Stores a DISPATCHED reversal session for the whole sale. Only a sale the device\'s own card reader took is accepted. The device then voids the sale on its payment app with no card (Poynt\'s void, by the sale\'s transaction id, which is the payment event\'s id) and reports the answer, with the reversal\'s sessionId, to nexi/on-device/result; once VOIDED, reconciliation writes the reversal onto the order. The server alone decides whether the sale may still be voided: up to 55 minutes after the sale was started, never on a closed order, and never once the sale has refund activity. `amount` is ignored: a void gives back the whole sale. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
66327
+ * @summary Start a revert (void) of an on-device Nexi sale
66328
+ * @param {ReverseSessionDto} reverseSessionDto
66329
+ * @param {*} [options] Override http request option.
66330
+ * @throws {RequiredError}
66331
+ */
66332
+ revertNexiOnDeviceSession: async (reverseSessionDto: ReverseSessionDto, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
66333
+ // verify required parameter 'reverseSessionDto' is not null or undefined
66334
+ assertParamExists('revertNexiOnDeviceSession', 'reverseSessionDto', reverseSessionDto)
66335
+ const localVarPath = `/api/v1/payment-session/nexi/on-device/revert`;
66336
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
66337
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
66338
+ let baseOptions;
66339
+ if (configuration) {
66340
+ baseOptions = configuration.baseOptions;
66341
+ }
66342
+
66343
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
66344
+ const localVarHeaderParameter = {} as any;
66345
+ const localVarQueryParameter = {} as any;
66346
+
66347
+
66348
+
65364
66349
  localVarHeaderParameter['Content-Type'] = 'application/json';
65365
66350
 
65366
66351
  setSearchParams(localVarUrlObj, localVarQueryParameter);
@@ -65684,6 +66669,18 @@ export const PaymentSessionApiFp = function(configuration?: Configuration) {
65684
66669
  const localVarAxiosArgs = await localVarAxiosParamCreator.initiateNetsSession(initiateNetsSessionDto, xIdempotencyKey, options);
65685
66670
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
65686
66671
  },
66672
+ /**
66673
+ * Stores a DISPATCHED Nexi session for a sale the device\'s own payment app (Poynt, on the Newland N950) will take. Its sessionId is the reference the payment app is given; the device then reports the app\'s answer to nexi/on-device/result, and the server writes the order. Refused for a venue whose channel does not pay by Nexi. Nexi is not called, nothing follows the session, and it is never cancelled through :clientToken/cancel. Idempotent via X-Idempotency-Key. A signed-in ticket only.
66674
+ * @summary Start a Nexi sale on the device\'s own card reader
66675
+ * @param {InitiateWorldlineA2aSessionDto} initiateWorldlineA2aSessionDto
66676
+ * @param {string} [xIdempotencyKey] Client-generated UUID. A key this venue\&#39;s on-device sale already holds answers that sale as it stands; a key any other payment holds is refused.
66677
+ * @param {*} [options] Override http request option.
66678
+ * @throws {RequiredError}
66679
+ */
66680
+ async initiateNexiOnDeviceSession(initiateWorldlineA2aSessionDto: InitiateWorldlineA2aSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaymentSessionViewDto>> {
66681
+ const localVarAxiosArgs = await localVarAxiosParamCreator.initiateNexiOnDeviceSession(initiateWorldlineA2aSessionDto, xIdempotencyKey, options);
66682
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
66683
+ },
65687
66684
  /**
65688
66685
  * Saves the session first, its sessionId being the sale\'s external_id at Nexi, then asks Nexi to start the sale and answer at once. The customer then taps on the terminal; Cloud Tasks ask Nexi until the sale ends. When Nexi answers paid, in this order: Nexi\'s answer is kept on the session (the status unchanged), Nexi is confirmed (which takes the money), the session is stored SUCCESS, the payment is written on the order (reconciliation, which announces the settled order on the venue\'s channel), and only then SUCCESS is announced on the session\'s channel. So nothing tells the till \'paid\' before the money is taken. If the order cannot take the payment, it is asked again for up to 5 minutes, then the charge goes to the till as its own order and a person is alerted. Follow the session on the Ably channel nexi.<channel>.requests.<sessionId> (event payment:status-changed) or with GET /payment-session/:clientToken, which shows SUCCESS from the moment Nexi took the money. A tip or surcharge typed on the terminal is recorded from Nexi\'s answer. POST /payment-session/:clientToken/cancel cancels it as Nexi documents it, a confirm as failed; the outcome is still Nexi\'s answer, so a sale Nexi was already confirmed paid for ends paid. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the session it started without asking Nexi again. A signed-in ticket only: the service key is not accepted (R27).
65689
66686
  * @summary Start a card payment on the station\'s Nexi terminal
@@ -65810,6 +66807,17 @@ export const PaymentSessionApiFp = function(configuration?: Configuration) {
65810
66807
  const localVarAxiosArgs = await localVarAxiosParamCreator.recordManualPayment(createManualSessionDto, xIdempotencyKey, options);
65811
66808
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
65812
66809
  },
66810
+ /**
66811
+ * Settles an on-device Nexi sale, refund or revert with Poynt\'s answer, decided by Poynt\'s payment status. COMPLETED makes a sale SUCCESS, REFUNDED makes a refund REFUNDED, VOIDED makes a revert REFUNDING; reconciliation then writes the payment or the reversal onto the order. DECLINED makes it FAILED (payment.declined), CANCELED makes it CANCELLED, FAILED makes it FAILED. A sale\'s or a refund\'s answer carries the session\'s sessionId as its reference, except a decline or a cancel, which may come without one; a revert\'s names the sale\'s Poynt transaction as its transactionId or parentId. An approval may replace a failure or a cancel (a payment recovered after the app was killed); an end without money replaces only the wait. An answer that may have moved money but cannot be recorded (AUTHORIZED, HOLD, READ_CARD_ONLY, another kind\'s approval, a partial approval, several approvals, another amount or currency) is kept on the session, which stays DISPATCHED, ops are alerted, and the request is refused. A refund to another card than the sale\'s is recorded and logged. A repeated answer is answered as the session stands. The payment event\'s time is the server\'s. A signed-in ticket only.
66812
+ * @summary Record the device\'s payment app answer for an on-device Nexi session
66813
+ * @param {RecordNexiOnDeviceResultDto} recordNexiOnDeviceResultDto
66814
+ * @param {*} [options] Override http request option.
66815
+ * @throws {RequiredError}
66816
+ */
66817
+ async recordNexiOnDeviceResult(recordNexiOnDeviceResultDto: RecordNexiOnDeviceResultDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NexiOnDeviceResultViewDto>> {
66818
+ const localVarAxiosArgs = await localVarAxiosParamCreator.recordNexiOnDeviceResult(recordNexiOnDeviceResultDto, options);
66819
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
66820
+ },
65813
66821
  /**
65814
66822
  * Settles a handheld Worldline sale, refund or revert with the payment app\'s answer (WPI_RESPONSE). A sale\'s or a refund\'s approval carries the session\'s sessionId as its reference, and so does its decline, except that WPI may answer a decline or a cancel without one; a revert\'s (WPI_SVC_CANCEL_PAYMENT) carries none and names the sale\'s paymentSolutionReference instead. An approval makes a sale SUCCESS, a refund REFUNDED and a revert REFUNDING; reconciliation then writes the payment or the reversal onto the order. A sale\'s approval may carry a tip the cardholder added on the payment app: it is recorded with the session\'s tip. A failure makes it FAILED, or CANCELLED when the app reports WPI_ERR_COND_USER_CANCEL. An approval may replace a failure; a failure never replaces anything. A repeated answer is answered as the session stands. The payment event\'s time is the server\'s. A signed-in ticket only.
65815
66823
  * @summary Record the Worldline payment app\'s answer for a handheld session
@@ -65843,6 +66851,17 @@ export const PaymentSessionApiFp = function(configuration?: Configuration) {
65843
66851
  const localVarAxiosArgs = await localVarAxiosParamCreator.refundNetsSession(reverseSessionDto, options);
65844
66852
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
65845
66853
  },
66854
+ /**
66855
+ * Stores a DISPATCHED refund session for the amount asked (what is left of the sale when none is), within what is left of the sale. Only a sale the device\'s own card reader took is accepted. The device then makes the refund on its payment app with the card presented (Poynt\'s non-referenced refund) and the refund\'s sessionId as its reference, and reports the answer to nexi/on-device/result. Does NOT write a reversal onto the order: the refund plan records it. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
66856
+ * @summary Start a card refund of an on-device Nexi sale
66857
+ * @param {ReverseSessionDto} reverseSessionDto
66858
+ * @param {*} [options] Override http request option.
66859
+ * @throws {RequiredError}
66860
+ */
66861
+ async refundNexiOnDeviceSession(reverseSessionDto: ReverseSessionDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaymentSessionViewDto>> {
66862
+ const localVarAxiosArgs = await localVarAxiosParamCreator.refundNexiOnDeviceSession(reverseSessionDto, options);
66863
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
66864
+ },
65846
66865
  /**
65847
66866
  * Stores a refund session for the amount asked (what is left of the sale when none is), within what is left of the sale, then asks Nexi for a customer-not-present refund of the sale on the sale\'s own terminal: the customer needs no card and the terminal shows nothing. Nexi\'s answer decides: Nexi made it → our confirm, then REFUNDED; Nexi ended it unpaid → FAILED and refused; Nexi still processing → the session waits and Cloud Tasks follow it until Nexi answers. Does NOT write a reversal onto the order: the refund plan records it, as for Viva and Nets. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the refund it started, as it stands, without asking Nexi again. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
65848
66867
  * @summary Refund a paid Nexi sale, customer not present, with no card
@@ -65910,6 +66929,17 @@ export const PaymentSessionApiFp = function(configuration?: Configuration) {
65910
66929
  const localVarAxiosArgs = await localVarAxiosParamCreator.revertNetsSession(reverseSessionDto, options);
65911
66930
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
65912
66931
  },
66932
+ /**
66933
+ * Stores a DISPATCHED reversal session for the whole sale. Only a sale the device\'s own card reader took is accepted. The device then voids the sale on its payment app with no card (Poynt\'s void, by the sale\'s transaction id, which is the payment event\'s id) and reports the answer, with the reversal\'s sessionId, to nexi/on-device/result; once VOIDED, reconciliation writes the reversal onto the order. The server alone decides whether the sale may still be voided: up to 55 minutes after the sale was started, never on a closed order, and never once the sale has refund activity. `amount` is ignored: a void gives back the whole sale. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
66934
+ * @summary Start a revert (void) of an on-device Nexi sale
66935
+ * @param {ReverseSessionDto} reverseSessionDto
66936
+ * @param {*} [options] Override http request option.
66937
+ * @throws {RequiredError}
66938
+ */
66939
+ async revertNexiOnDeviceSession(reverseSessionDto: ReverseSessionDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaymentSessionViewDto>> {
66940
+ const localVarAxiosArgs = await localVarAxiosParamCreator.revertNexiOnDeviceSession(reverseSessionDto, options);
66941
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
66942
+ },
65913
66943
  /**
65914
66944
  * Reads the sale at Nexi and picks the way itself, so the till decides nothing by time: within Nexi\'s hour after the sale (CONFIRMED) and with nothing refunded yet, the sale is confirmed as failed again and everything goes back; once Nexi committed it (COMMITTED, after the hour or after a refund), a customer-not-present refund gives back what is left. A confirm Nexi refuses because the hour ended in between is read again and refunded instead. A sale Nexi already holds unpaid while our record calls it paid is recorded as given back. A confirm Nexi does not answer is never recorded as failed: the revert is kept, counted against the sale, and Cloud Task rounds settle it from Nexi\'s record of the sale: given back once Nexi holds it unpaid; the confirm as failed sent again while Nexi holds it confirmed paid; a refund of what is left once Nexi committed it paid. No card either way. Once Nexi gave the money back, the session is REFUNDING and reconciliation writes the reversal onto the order, then REFUNDED. `amount` is ignored: a revert gives back what is left. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
65915
66945
  * @summary Revert a paid Nexi sale: give back what is left and write the reversal onto the order
@@ -66064,6 +67094,17 @@ export const PaymentSessionApiFactory = function (configuration?: Configuration,
66064
67094
  initiateNetsSession(initiateNetsSessionDto: InitiateNetsSessionDto, xIdempotencyKey?: string, options?: any): AxiosPromise<InitiateNetsSessionResponseDto> {
66065
67095
  return localVarFp.initiateNetsSession(initiateNetsSessionDto, xIdempotencyKey, options).then((request) => request(axios, basePath));
66066
67096
  },
67097
+ /**
67098
+ * Stores a DISPATCHED Nexi session for a sale the device\'s own payment app (Poynt, on the Newland N950) will take. Its sessionId is the reference the payment app is given; the device then reports the app\'s answer to nexi/on-device/result, and the server writes the order. Refused for a venue whose channel does not pay by Nexi. Nexi is not called, nothing follows the session, and it is never cancelled through :clientToken/cancel. Idempotent via X-Idempotency-Key. A signed-in ticket only.
67099
+ * @summary Start a Nexi sale on the device\'s own card reader
67100
+ * @param {InitiateWorldlineA2aSessionDto} initiateWorldlineA2aSessionDto
67101
+ * @param {string} [xIdempotencyKey] Client-generated UUID. A key this venue\&#39;s on-device sale already holds answers that sale as it stands; a key any other payment holds is refused.
67102
+ * @param {*} [options] Override http request option.
67103
+ * @throws {RequiredError}
67104
+ */
67105
+ initiateNexiOnDeviceSession(initiateWorldlineA2aSessionDto: InitiateWorldlineA2aSessionDto, xIdempotencyKey?: string, options?: any): AxiosPromise<PaymentSessionViewDto> {
67106
+ return localVarFp.initiateNexiOnDeviceSession(initiateWorldlineA2aSessionDto, xIdempotencyKey, options).then((request) => request(axios, basePath));
67107
+ },
66067
67108
  /**
66068
67109
  * Saves the session first, its sessionId being the sale\'s external_id at Nexi, then asks Nexi to start the sale and answer at once. The customer then taps on the terminal; Cloud Tasks ask Nexi until the sale ends. When Nexi answers paid, in this order: Nexi\'s answer is kept on the session (the status unchanged), Nexi is confirmed (which takes the money), the session is stored SUCCESS, the payment is written on the order (reconciliation, which announces the settled order on the venue\'s channel), and only then SUCCESS is announced on the session\'s channel. So nothing tells the till \'paid\' before the money is taken. If the order cannot take the payment, it is asked again for up to 5 minutes, then the charge goes to the till as its own order and a person is alerted. Follow the session on the Ably channel nexi.<channel>.requests.<sessionId> (event payment:status-changed) or with GET /payment-session/:clientToken, which shows SUCCESS from the moment Nexi took the money. A tip or surcharge typed on the terminal is recorded from Nexi\'s answer. POST /payment-session/:clientToken/cancel cancels it as Nexi documents it, a confirm as failed; the outcome is still Nexi\'s answer, so a sale Nexi was already confirmed paid for ends paid. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the session it started without asking Nexi again. A signed-in ticket only: the service key is not accepted (R27).
66069
67110
  * @summary Start a card payment on the station\'s Nexi terminal
@@ -66179,6 +67220,16 @@ export const PaymentSessionApiFactory = function (configuration?: Configuration,
66179
67220
  recordManualPayment(createManualSessionDto: CreateManualSessionDto, xIdempotencyKey?: string, options?: any): AxiosPromise<RecordManualPaymentResultDto> {
66180
67221
  return localVarFp.recordManualPayment(createManualSessionDto, xIdempotencyKey, options).then((request) => request(axios, basePath));
66181
67222
  },
67223
+ /**
67224
+ * Settles an on-device Nexi sale, refund or revert with Poynt\'s answer, decided by Poynt\'s payment status. COMPLETED makes a sale SUCCESS, REFUNDED makes a refund REFUNDED, VOIDED makes a revert REFUNDING; reconciliation then writes the payment or the reversal onto the order. DECLINED makes it FAILED (payment.declined), CANCELED makes it CANCELLED, FAILED makes it FAILED. A sale\'s or a refund\'s answer carries the session\'s sessionId as its reference, except a decline or a cancel, which may come without one; a revert\'s names the sale\'s Poynt transaction as its transactionId or parentId. An approval may replace a failure or a cancel (a payment recovered after the app was killed); an end without money replaces only the wait. An answer that may have moved money but cannot be recorded (AUTHORIZED, HOLD, READ_CARD_ONLY, another kind\'s approval, a partial approval, several approvals, another amount or currency) is kept on the session, which stays DISPATCHED, ops are alerted, and the request is refused. A refund to another card than the sale\'s is recorded and logged. A repeated answer is answered as the session stands. The payment event\'s time is the server\'s. A signed-in ticket only.
67225
+ * @summary Record the device\'s payment app answer for an on-device Nexi session
67226
+ * @param {RecordNexiOnDeviceResultDto} recordNexiOnDeviceResultDto
67227
+ * @param {*} [options] Override http request option.
67228
+ * @throws {RequiredError}
67229
+ */
67230
+ recordNexiOnDeviceResult(recordNexiOnDeviceResultDto: RecordNexiOnDeviceResultDto, options?: any): AxiosPromise<NexiOnDeviceResultViewDto> {
67231
+ return localVarFp.recordNexiOnDeviceResult(recordNexiOnDeviceResultDto, options).then((request) => request(axios, basePath));
67232
+ },
66182
67233
  /**
66183
67234
  * Settles a handheld Worldline sale, refund or revert with the payment app\'s answer (WPI_RESPONSE). A sale\'s or a refund\'s approval carries the session\'s sessionId as its reference, and so does its decline, except that WPI may answer a decline or a cancel without one; a revert\'s (WPI_SVC_CANCEL_PAYMENT) carries none and names the sale\'s paymentSolutionReference instead. An approval makes a sale SUCCESS, a refund REFUNDED and a revert REFUNDING; reconciliation then writes the payment or the reversal onto the order. A sale\'s approval may carry a tip the cardholder added on the payment app: it is recorded with the session\'s tip. A failure makes it FAILED, or CANCELLED when the app reports WPI_ERR_COND_USER_CANCEL. An approval may replace a failure; a failure never replaces anything. A repeated answer is answered as the session stands. The payment event\'s time is the server\'s. A signed-in ticket only.
66184
67235
  * @summary Record the Worldline payment app\'s answer for a handheld session
@@ -66209,6 +67260,16 @@ export const PaymentSessionApiFactory = function (configuration?: Configuration,
66209
67260
  refundNetsSession(reverseSessionDto: ReverseSessionDto, options?: any): AxiosPromise<PaymentSessionViewDto> {
66210
67261
  return localVarFp.refundNetsSession(reverseSessionDto, options).then((request) => request(axios, basePath));
66211
67262
  },
67263
+ /**
67264
+ * Stores a DISPATCHED refund session for the amount asked (what is left of the sale when none is), within what is left of the sale. Only a sale the device\'s own card reader took is accepted. The device then makes the refund on its payment app with the card presented (Poynt\'s non-referenced refund) and the refund\'s sessionId as its reference, and reports the answer to nexi/on-device/result. Does NOT write a reversal onto the order: the refund plan records it. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
67265
+ * @summary Start a card refund of an on-device Nexi sale
67266
+ * @param {ReverseSessionDto} reverseSessionDto
67267
+ * @param {*} [options] Override http request option.
67268
+ * @throws {RequiredError}
67269
+ */
67270
+ refundNexiOnDeviceSession(reverseSessionDto: ReverseSessionDto, options?: any): AxiosPromise<PaymentSessionViewDto> {
67271
+ return localVarFp.refundNexiOnDeviceSession(reverseSessionDto, options).then((request) => request(axios, basePath));
67272
+ },
66212
67273
  /**
66213
67274
  * Stores a refund session for the amount asked (what is left of the sale when none is), within what is left of the sale, then asks Nexi for a customer-not-present refund of the sale on the sale\'s own terminal: the customer needs no card and the terminal shows nothing. Nexi\'s answer decides: Nexi made it → our confirm, then REFUNDED; Nexi ended it unpaid → FAILED and refused; Nexi still processing → the session waits and Cloud Tasks follow it until Nexi answers. Does NOT write a reversal onto the order: the refund plan records it, as for Viva and Nets. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the refund it started, as it stands, without asking Nexi again. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
66214
67275
  * @summary Refund a paid Nexi sale, customer not present, with no card
@@ -66270,6 +67331,16 @@ export const PaymentSessionApiFactory = function (configuration?: Configuration,
66270
67331
  revertNetsSession(reverseSessionDto: ReverseSessionDto, options?: any): AxiosPromise<NetsRevertResponseDto> {
66271
67332
  return localVarFp.revertNetsSession(reverseSessionDto, options).then((request) => request(axios, basePath));
66272
67333
  },
67334
+ /**
67335
+ * Stores a DISPATCHED reversal session for the whole sale. Only a sale the device\'s own card reader took is accepted. The device then voids the sale on its payment app with no card (Poynt\'s void, by the sale\'s transaction id, which is the payment event\'s id) and reports the answer, with the reversal\'s sessionId, to nexi/on-device/result; once VOIDED, reconciliation writes the reversal onto the order. The server alone decides whether the sale may still be voided: up to 55 minutes after the sale was started, never on a closed order, and never once the sale has refund activity. `amount` is ignored: a void gives back the whole sale. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
67336
+ * @summary Start a revert (void) of an on-device Nexi sale
67337
+ * @param {ReverseSessionDto} reverseSessionDto
67338
+ * @param {*} [options] Override http request option.
67339
+ * @throws {RequiredError}
67340
+ */
67341
+ revertNexiOnDeviceSession(reverseSessionDto: ReverseSessionDto, options?: any): AxiosPromise<PaymentSessionViewDto> {
67342
+ return localVarFp.revertNexiOnDeviceSession(reverseSessionDto, options).then((request) => request(axios, basePath));
67343
+ },
66273
67344
  /**
66274
67345
  * Reads the sale at Nexi and picks the way itself, so the till decides nothing by time: within Nexi\'s hour after the sale (CONFIRMED) and with nothing refunded yet, the sale is confirmed as failed again and everything goes back; once Nexi committed it (COMMITTED, after the hour or after a refund), a customer-not-present refund gives back what is left. A confirm Nexi refuses because the hour ended in between is read again and refunded instead. A sale Nexi already holds unpaid while our record calls it paid is recorded as given back. A confirm Nexi does not answer is never recorded as failed: the revert is kept, counted against the sale, and Cloud Task rounds settle it from Nexi\'s record of the sale: given back once Nexi holds it unpaid; the confirm as failed sent again while Nexi holds it confirmed paid; a refund of what is left once Nexi committed it paid. No card either way. Once Nexi gave the money back, the session is REFUNDING and reconciliation writes the reversal onto the order, then REFUNDED. `amount` is ignored: a revert gives back what is left. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
66275
67346
  * @summary Revert a paid Nexi sale: give back what is left and write the reversal onto the order
@@ -66417,6 +67488,17 @@ export interface PaymentSessionApiInterface {
66417
67488
  */
66418
67489
  initiateNetsSession(initiateNetsSessionDto: InitiateNetsSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig): AxiosPromise<InitiateNetsSessionResponseDto>;
66419
67490
 
67491
+ /**
67492
+ * Stores a DISPATCHED Nexi session for a sale the device\'s own payment app (Poynt, on the Newland N950) will take. Its sessionId is the reference the payment app is given; the device then reports the app\'s answer to nexi/on-device/result, and the server writes the order. Refused for a venue whose channel does not pay by Nexi. Nexi is not called, nothing follows the session, and it is never cancelled through :clientToken/cancel. Idempotent via X-Idempotency-Key. A signed-in ticket only.
67493
+ * @summary Start a Nexi sale on the device\'s own card reader
67494
+ * @param {InitiateWorldlineA2aSessionDto} initiateWorldlineA2aSessionDto
67495
+ * @param {string} [xIdempotencyKey] Client-generated UUID. A key this venue\&#39;s on-device sale already holds answers that sale as it stands; a key any other payment holds is refused.
67496
+ * @param {*} [options] Override http request option.
67497
+ * @throws {RequiredError}
67498
+ * @memberof PaymentSessionApiInterface
67499
+ */
67500
+ initiateNexiOnDeviceSession(initiateWorldlineA2aSessionDto: InitiateWorldlineA2aSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig): AxiosPromise<PaymentSessionViewDto>;
67501
+
66420
67502
  /**
66421
67503
  * Saves the session first, its sessionId being the sale\'s external_id at Nexi, then asks Nexi to start the sale and answer at once. The customer then taps on the terminal; Cloud Tasks ask Nexi until the sale ends. When Nexi answers paid, in this order: Nexi\'s answer is kept on the session (the status unchanged), Nexi is confirmed (which takes the money), the session is stored SUCCESS, the payment is written on the order (reconciliation, which announces the settled order on the venue\'s channel), and only then SUCCESS is announced on the session\'s channel. So nothing tells the till \'paid\' before the money is taken. If the order cannot take the payment, it is asked again for up to 5 minutes, then the charge goes to the till as its own order and a person is alerted. Follow the session on the Ably channel nexi.<channel>.requests.<sessionId> (event payment:status-changed) or with GET /payment-session/:clientToken, which shows SUCCESS from the moment Nexi took the money. A tip or surcharge typed on the terminal is recorded from Nexi\'s answer. POST /payment-session/:clientToken/cancel cancels it as Nexi documents it, a confirm as failed; the outcome is still Nexi\'s answer, so a sale Nexi was already confirmed paid for ends paid. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the session it started without asking Nexi again. A signed-in ticket only: the service key is not accepted (R27).
66422
67504
  * @summary Start a card payment on the station\'s Nexi terminal
@@ -66532,6 +67614,16 @@ export interface PaymentSessionApiInterface {
66532
67614
  */
66533
67615
  recordManualPayment(createManualSessionDto: CreateManualSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig): AxiosPromise<RecordManualPaymentResultDto>;
66534
67616
 
67617
+ /**
67618
+ * Settles an on-device Nexi sale, refund or revert with Poynt\'s answer, decided by Poynt\'s payment status. COMPLETED makes a sale SUCCESS, REFUNDED makes a refund REFUNDED, VOIDED makes a revert REFUNDING; reconciliation then writes the payment or the reversal onto the order. DECLINED makes it FAILED (payment.declined), CANCELED makes it CANCELLED, FAILED makes it FAILED. A sale\'s or a refund\'s answer carries the session\'s sessionId as its reference, except a decline or a cancel, which may come without one; a revert\'s names the sale\'s Poynt transaction as its transactionId or parentId. An approval may replace a failure or a cancel (a payment recovered after the app was killed); an end without money replaces only the wait. An answer that may have moved money but cannot be recorded (AUTHORIZED, HOLD, READ_CARD_ONLY, another kind\'s approval, a partial approval, several approvals, another amount or currency) is kept on the session, which stays DISPATCHED, ops are alerted, and the request is refused. A refund to another card than the sale\'s is recorded and logged. A repeated answer is answered as the session stands. The payment event\'s time is the server\'s. A signed-in ticket only.
67619
+ * @summary Record the device\'s payment app answer for an on-device Nexi session
67620
+ * @param {RecordNexiOnDeviceResultDto} recordNexiOnDeviceResultDto
67621
+ * @param {*} [options] Override http request option.
67622
+ * @throws {RequiredError}
67623
+ * @memberof PaymentSessionApiInterface
67624
+ */
67625
+ recordNexiOnDeviceResult(recordNexiOnDeviceResultDto: RecordNexiOnDeviceResultDto, options?: AxiosRequestConfig): AxiosPromise<NexiOnDeviceResultViewDto>;
67626
+
66535
67627
  /**
66536
67628
  * Settles a handheld Worldline sale, refund or revert with the payment app\'s answer (WPI_RESPONSE). A sale\'s or a refund\'s approval carries the session\'s sessionId as its reference, and so does its decline, except that WPI may answer a decline or a cancel without one; a revert\'s (WPI_SVC_CANCEL_PAYMENT) carries none and names the sale\'s paymentSolutionReference instead. An approval makes a sale SUCCESS, a refund REFUNDED and a revert REFUNDING; reconciliation then writes the payment or the reversal onto the order. A sale\'s approval may carry a tip the cardholder added on the payment app: it is recorded with the session\'s tip. A failure makes it FAILED, or CANCELLED when the app reports WPI_ERR_COND_USER_CANCEL. An approval may replace a failure; a failure never replaces anything. A repeated answer is answered as the session stands. The payment event\'s time is the server\'s. A signed-in ticket only.
66537
67629
  * @summary Record the Worldline payment app\'s answer for a handheld session
@@ -66562,6 +67654,16 @@ export interface PaymentSessionApiInterface {
66562
67654
  */
66563
67655
  refundNetsSession(reverseSessionDto: ReverseSessionDto, options?: AxiosRequestConfig): AxiosPromise<PaymentSessionViewDto>;
66564
67656
 
67657
+ /**
67658
+ * Stores a DISPATCHED refund session for the amount asked (what is left of the sale when none is), within what is left of the sale. Only a sale the device\'s own card reader took is accepted. The device then makes the refund on its payment app with the card presented (Poynt\'s non-referenced refund) and the refund\'s sessionId as its reference, and reports the answer to nexi/on-device/result. Does NOT write a reversal onto the order: the refund plan records it. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
67659
+ * @summary Start a card refund of an on-device Nexi sale
67660
+ * @param {ReverseSessionDto} reverseSessionDto
67661
+ * @param {*} [options] Override http request option.
67662
+ * @throws {RequiredError}
67663
+ * @memberof PaymentSessionApiInterface
67664
+ */
67665
+ refundNexiOnDeviceSession(reverseSessionDto: ReverseSessionDto, options?: AxiosRequestConfig): AxiosPromise<PaymentSessionViewDto>;
67666
+
66565
67667
  /**
66566
67668
  * Stores a refund session for the amount asked (what is left of the sale when none is), within what is left of the sale, then asks Nexi for a customer-not-present refund of the sale on the sale\'s own terminal: the customer needs no card and the terminal shows nothing. Nexi\'s answer decides: Nexi made it → our confirm, then REFUNDED; Nexi ended it unpaid → FAILED and refused; Nexi still processing → the session waits and Cloud Tasks follow it until Nexi answers. Does NOT write a reversal onto the order: the refund plan records it, as for Viva and Nets. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the refund it started, as it stands, without asking Nexi again. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
66567
67669
  * @summary Refund a paid Nexi sale, customer not present, with no card
@@ -66623,6 +67725,16 @@ export interface PaymentSessionApiInterface {
66623
67725
  */
66624
67726
  revertNetsSession(reverseSessionDto: ReverseSessionDto, options?: AxiosRequestConfig): AxiosPromise<NetsRevertResponseDto>;
66625
67727
 
67728
+ /**
67729
+ * Stores a DISPATCHED reversal session for the whole sale. Only a sale the device\'s own card reader took is accepted. The device then voids the sale on its payment app with no card (Poynt\'s void, by the sale\'s transaction id, which is the payment event\'s id) and reports the answer, with the reversal\'s sessionId, to nexi/on-device/result; once VOIDED, reconciliation writes the reversal onto the order. The server alone decides whether the sale may still be voided: up to 55 minutes after the sale was started, never on a closed order, and never once the sale has refund activity. `amount` is ignored: a void gives back the whole sale. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
67730
+ * @summary Start a revert (void) of an on-device Nexi sale
67731
+ * @param {ReverseSessionDto} reverseSessionDto
67732
+ * @param {*} [options] Override http request option.
67733
+ * @throws {RequiredError}
67734
+ * @memberof PaymentSessionApiInterface
67735
+ */
67736
+ revertNexiOnDeviceSession(reverseSessionDto: ReverseSessionDto, options?: AxiosRequestConfig): AxiosPromise<PaymentSessionViewDto>;
67737
+
66626
67738
  /**
66627
67739
  * Reads the sale at Nexi and picks the way itself, so the till decides nothing by time: within Nexi\'s hour after the sale (CONFIRMED) and with nothing refunded yet, the sale is confirmed as failed again and everything goes back; once Nexi committed it (COMMITTED, after the hour or after a refund), a customer-not-present refund gives back what is left. A confirm Nexi refuses because the hour ended in between is read again and refunded instead. A sale Nexi already holds unpaid while our record calls it paid is recorded as given back. A confirm Nexi does not answer is never recorded as failed: the revert is kept, counted against the sale, and Cloud Task rounds settle it from Nexi\'s record of the sale: given back once Nexi holds it unpaid; the confirm as failed sent again while Nexi holds it confirmed paid; a refund of what is left once Nexi committed it paid. No card either way. Once Nexi gave the money back, the session is REFUNDING and reconciliation writes the reversal onto the order, then REFUNDED. `amount` is ignored: a revert gives back what is left. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
66628
67740
  * @summary Revert a paid Nexi sale: give back what is left and write the reversal onto the order
@@ -66784,6 +67896,19 @@ export class PaymentSessionApi extends BaseAPI implements PaymentSessionApiInter
66784
67896
  return PaymentSessionApiFp(this.configuration).initiateNetsSession(initiateNetsSessionDto, xIdempotencyKey, options).then((request) => request(this.axios, this.basePath));
66785
67897
  }
66786
67898
 
67899
+ /**
67900
+ * Stores a DISPATCHED Nexi session for a sale the device\'s own payment app (Poynt, on the Newland N950) will take. Its sessionId is the reference the payment app is given; the device then reports the app\'s answer to nexi/on-device/result, and the server writes the order. Refused for a venue whose channel does not pay by Nexi. Nexi is not called, nothing follows the session, and it is never cancelled through :clientToken/cancel. Idempotent via X-Idempotency-Key. A signed-in ticket only.
67901
+ * @summary Start a Nexi sale on the device\'s own card reader
67902
+ * @param {InitiateWorldlineA2aSessionDto} initiateWorldlineA2aSessionDto
67903
+ * @param {string} [xIdempotencyKey] Client-generated UUID. A key this venue\&#39;s on-device sale already holds answers that sale as it stands; a key any other payment holds is refused.
67904
+ * @param {*} [options] Override http request option.
67905
+ * @throws {RequiredError}
67906
+ * @memberof PaymentSessionApi
67907
+ */
67908
+ public initiateNexiOnDeviceSession(initiateWorldlineA2aSessionDto: InitiateWorldlineA2aSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig) {
67909
+ return PaymentSessionApiFp(this.configuration).initiateNexiOnDeviceSession(initiateWorldlineA2aSessionDto, xIdempotencyKey, options).then((request) => request(this.axios, this.basePath));
67910
+ }
67911
+
66787
67912
  /**
66788
67913
  * Saves the session first, its sessionId being the sale\'s external_id at Nexi, then asks Nexi to start the sale and answer at once. The customer then taps on the terminal; Cloud Tasks ask Nexi until the sale ends. When Nexi answers paid, in this order: Nexi\'s answer is kept on the session (the status unchanged), Nexi is confirmed (which takes the money), the session is stored SUCCESS, the payment is written on the order (reconciliation, which announces the settled order on the venue\'s channel), and only then SUCCESS is announced on the session\'s channel. So nothing tells the till \'paid\' before the money is taken. If the order cannot take the payment, it is asked again for up to 5 minutes, then the charge goes to the till as its own order and a person is alerted. Follow the session on the Ably channel nexi.<channel>.requests.<sessionId> (event payment:status-changed) or with GET /payment-session/:clientToken, which shows SUCCESS from the moment Nexi took the money. A tip or surcharge typed on the terminal is recorded from Nexi\'s answer. POST /payment-session/:clientToken/cancel cancels it as Nexi documents it, a confirm as failed; the outcome is still Nexi\'s answer, so a sale Nexi was already confirmed paid for ends paid. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the session it started without asking Nexi again. A signed-in ticket only: the service key is not accepted (R27).
66789
67914
  * @summary Start a card payment on the station\'s Nexi terminal
@@ -66921,6 +68046,18 @@ export class PaymentSessionApi extends BaseAPI implements PaymentSessionApiInter
66921
68046
  return PaymentSessionApiFp(this.configuration).recordManualPayment(createManualSessionDto, xIdempotencyKey, options).then((request) => request(this.axios, this.basePath));
66922
68047
  }
66923
68048
 
68049
+ /**
68050
+ * Settles an on-device Nexi sale, refund or revert with Poynt\'s answer, decided by Poynt\'s payment status. COMPLETED makes a sale SUCCESS, REFUNDED makes a refund REFUNDED, VOIDED makes a revert REFUNDING; reconciliation then writes the payment or the reversal onto the order. DECLINED makes it FAILED (payment.declined), CANCELED makes it CANCELLED, FAILED makes it FAILED. A sale\'s or a refund\'s answer carries the session\'s sessionId as its reference, except a decline or a cancel, which may come without one; a revert\'s names the sale\'s Poynt transaction as its transactionId or parentId. An approval may replace a failure or a cancel (a payment recovered after the app was killed); an end without money replaces only the wait. An answer that may have moved money but cannot be recorded (AUTHORIZED, HOLD, READ_CARD_ONLY, another kind\'s approval, a partial approval, several approvals, another amount or currency) is kept on the session, which stays DISPATCHED, ops are alerted, and the request is refused. A refund to another card than the sale\'s is recorded and logged. A repeated answer is answered as the session stands. The payment event\'s time is the server\'s. A signed-in ticket only.
68051
+ * @summary Record the device\'s payment app answer for an on-device Nexi session
68052
+ * @param {RecordNexiOnDeviceResultDto} recordNexiOnDeviceResultDto
68053
+ * @param {*} [options] Override http request option.
68054
+ * @throws {RequiredError}
68055
+ * @memberof PaymentSessionApi
68056
+ */
68057
+ public recordNexiOnDeviceResult(recordNexiOnDeviceResultDto: RecordNexiOnDeviceResultDto, options?: AxiosRequestConfig) {
68058
+ return PaymentSessionApiFp(this.configuration).recordNexiOnDeviceResult(recordNexiOnDeviceResultDto, options).then((request) => request(this.axios, this.basePath));
68059
+ }
68060
+
66924
68061
  /**
66925
68062
  * Settles a handheld Worldline sale, refund or revert with the payment app\'s answer (WPI_RESPONSE). A sale\'s or a refund\'s approval carries the session\'s sessionId as its reference, and so does its decline, except that WPI may answer a decline or a cancel without one; a revert\'s (WPI_SVC_CANCEL_PAYMENT) carries none and names the sale\'s paymentSolutionReference instead. An approval makes a sale SUCCESS, a refund REFUNDED and a revert REFUNDING; reconciliation then writes the payment or the reversal onto the order. A sale\'s approval may carry a tip the cardholder added on the payment app: it is recorded with the session\'s tip. A failure makes it FAILED, or CANCELLED when the app reports WPI_ERR_COND_USER_CANCEL. An approval may replace a failure; a failure never replaces anything. A repeated answer is answered as the session stands. The payment event\'s time is the server\'s. A signed-in ticket only.
66926
68063
  * @summary Record the Worldline payment app\'s answer for a handheld session
@@ -66957,6 +68094,18 @@ export class PaymentSessionApi extends BaseAPI implements PaymentSessionApiInter
66957
68094
  return PaymentSessionApiFp(this.configuration).refundNetsSession(reverseSessionDto, options).then((request) => request(this.axios, this.basePath));
66958
68095
  }
66959
68096
 
68097
+ /**
68098
+ * Stores a DISPATCHED refund session for the amount asked (what is left of the sale when none is), within what is left of the sale. Only a sale the device\'s own card reader took is accepted. The device then makes the refund on its payment app with the card presented (Poynt\'s non-referenced refund) and the refund\'s sessionId as its reference, and reports the answer to nexi/on-device/result. Does NOT write a reversal onto the order: the refund plan records it. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
68099
+ * @summary Start a card refund of an on-device Nexi sale
68100
+ * @param {ReverseSessionDto} reverseSessionDto
68101
+ * @param {*} [options] Override http request option.
68102
+ * @throws {RequiredError}
68103
+ * @memberof PaymentSessionApi
68104
+ */
68105
+ public refundNexiOnDeviceSession(reverseSessionDto: ReverseSessionDto, options?: AxiosRequestConfig) {
68106
+ return PaymentSessionApiFp(this.configuration).refundNexiOnDeviceSession(reverseSessionDto, options).then((request) => request(this.axios, this.basePath));
68107
+ }
68108
+
66960
68109
  /**
66961
68110
  * Stores a refund session for the amount asked (what is left of the sale when none is), within what is left of the sale, then asks Nexi for a customer-not-present refund of the sale on the sale\'s own terminal: the customer needs no card and the terminal shows nothing. Nexi\'s answer decides: Nexi made it → our confirm, then REFUNDED; Nexi ended it unpaid → FAILED and refused; Nexi still processing → the session waits and Cloud Tasks follow it until Nexi answers. Does NOT write a reversal onto the order: the refund plan records it, as for Viva and Nets. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the refund it started, as it stands, without asking Nexi again. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
66962
68111
  * @summary Refund a paid Nexi sale, customer not present, with no card
@@ -67030,6 +68179,18 @@ export class PaymentSessionApi extends BaseAPI implements PaymentSessionApiInter
67030
68179
  return PaymentSessionApiFp(this.configuration).revertNetsSession(reverseSessionDto, options).then((request) => request(this.axios, this.basePath));
67031
68180
  }
67032
68181
 
68182
+ /**
68183
+ * Stores a DISPATCHED reversal session for the whole sale. Only a sale the device\'s own card reader took is accepted. The device then voids the sale on its payment app with no card (Poynt\'s void, by the sale\'s transaction id, which is the payment event\'s id) and reports the answer, with the reversal\'s sessionId, to nexi/on-device/result; once VOIDED, reconciliation writes the reversal onto the order. The server alone decides whether the sale may still be voided: up to 55 minutes after the sale was started, never on a closed order, and never once the sale has refund activity. `amount` is ignored: a void gives back the whole sale. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
68184
+ * @summary Start a revert (void) of an on-device Nexi sale
68185
+ * @param {ReverseSessionDto} reverseSessionDto
68186
+ * @param {*} [options] Override http request option.
68187
+ * @throws {RequiredError}
68188
+ * @memberof PaymentSessionApi
68189
+ */
68190
+ public revertNexiOnDeviceSession(reverseSessionDto: ReverseSessionDto, options?: AxiosRequestConfig) {
68191
+ return PaymentSessionApiFp(this.configuration).revertNexiOnDeviceSession(reverseSessionDto, options).then((request) => request(this.axios, this.basePath));
68192
+ }
68193
+
67033
68194
  /**
67034
68195
  * Reads the sale at Nexi and picks the way itself, so the till decides nothing by time: within Nexi\'s hour after the sale (CONFIRMED) and with nothing refunded yet, the sale is confirmed as failed again and everything goes back; once Nexi committed it (COMMITTED, after the hour or after a refund), a customer-not-present refund gives back what is left. A confirm Nexi refuses because the hour ended in between is read again and refunded instead. A sale Nexi already holds unpaid while our record calls it paid is recorded as given back. A confirm Nexi does not answer is never recorded as failed: the revert is kept, counted against the sale, and Cloud Task rounds settle it from Nexi\'s record of the sale: given back once Nexi holds it unpaid; the confirm as failed sent again while Nexi holds it confirmed paid; a refund of what is left once Nexi committed it paid. No card either way. Once Nexi gave the money back, the session is REFUNDING and reconciliation writes the reversal onto the order, then REFUNDED. `amount` is ignored: a revert gives back what is left. A signed-in ticket only. Every refusal answers the shared error body: `name` is a stable code the till maps to its own words, `detail` the waiter\'s words when it has none.
67035
68196
  * @summary Revert a paid Nexi sale: give back what is left and write the reversal onto the order