@@ -176,6 +176,7 @@ constructor(
176
176
@JvmField val isReusable : Boolean ,
177
177
@JvmField val isVoucher : Boolean ,
178
178
@JvmField val requiresMandate : Boolean ,
179
+ internal val requiresMandateForPaymentIntent : Boolean ,
179
180
private val hasDelayedSettlement : Boolean ,
180
181
internal val afterRedirectAction : AfterRedirectAction = AfterRedirectAction .None ,
181
182
) : Parcelable {
@@ -184,69 +185,79 @@ constructor(
184
185
isReusable = false ,
185
186
isVoucher = false ,
186
187
requiresMandate = true ,
188
+ requiresMandateForPaymentIntent = true ,
187
189
hasDelayedSettlement = false ,
188
190
),
189
191
Card (
190
192
" card" ,
191
193
isReusable = true ,
192
194
isVoucher = false ,
193
195
requiresMandate = false ,
196
+ requiresMandateForPaymentIntent = false ,
194
197
hasDelayedSettlement = false ,
195
198
),
196
199
CardPresent (
197
200
" card_present" ,
198
201
isReusable = false ,
199
202
isVoucher = false ,
200
203
requiresMandate = false ,
204
+ requiresMandateForPaymentIntent = false ,
201
205
hasDelayedSettlement = false ,
202
206
),
203
207
Fpx (
204
208
" fpx" ,
205
209
isReusable = false ,
206
210
isVoucher = false ,
207
211
requiresMandate = false ,
212
+ requiresMandateForPaymentIntent = false ,
208
213
hasDelayedSettlement = false ,
209
214
),
210
215
Ideal (
211
216
" ideal" ,
212
217
isReusable = false ,
213
218
isVoucher = false ,
214
219
requiresMandate = true ,
220
+ requiresMandateForPaymentIntent = false ,
215
221
hasDelayedSettlement = false ,
216
222
),
217
223
SepaDebit (
218
224
" sepa_debit" ,
219
225
isReusable = false ,
220
226
isVoucher = false ,
221
227
requiresMandate = true ,
228
+ requiresMandateForPaymentIntent = true ,
222
229
hasDelayedSettlement = true ,
223
230
),
224
231
AuBecsDebit (
225
232
" au_becs_debit" ,
226
233
isReusable = true ,
227
234
isVoucher = false ,
228
235
requiresMandate = true ,
236
+ requiresMandateForPaymentIntent = true ,
229
237
hasDelayedSettlement = true ,
230
238
),
231
239
BacsDebit (
232
240
" bacs_debit" ,
233
241
isReusable = true ,
234
242
isVoucher = false ,
235
243
requiresMandate = true ,
244
+ requiresMandateForPaymentIntent = true ,
236
245
hasDelayedSettlement = true ,
237
246
),
238
247
Sofort (
239
248
" sofort" ,
240
249
isReusable = false ,
241
250
isVoucher = false ,
242
251
requiresMandate = true ,
252
+ requiresMandateForPaymentIntent = false ,
243
253
hasDelayedSettlement = true ,
244
254
),
245
255
Upi (
246
256
" upi" ,
247
257
isReusable = false ,
248
258
isVoucher = false ,
249
259
requiresMandate = false ,
260
+ requiresMandateForPaymentIntent = false ,
250
261
hasDelayedSettlement = false ,
251
262
afterRedirectAction = AfterRedirectAction .Refresh (),
252
263
),
@@ -255,6 +266,7 @@ constructor(
255
266
isReusable = false ,
256
267
isVoucher = false ,
257
268
requiresMandate = false ,
269
+ requiresMandateForPaymentIntent = false ,
258
270
hasDelayedSettlement = false ,
259
271
// We are intentionally polling for P24 even though it uses the redirect trampoline.
260
272
// About 20% of the time, the intent is still in `requires_action` status
@@ -267,76 +279,87 @@ constructor(
267
279
isReusable = false ,
268
280
isVoucher = false ,
269
281
requiresMandate = true ,
282
+ requiresMandateForPaymentIntent = true ,
270
283
hasDelayedSettlement = false ,
271
284
),
272
285
Giropay (
273
286
" giropay" ,
274
287
isReusable = false ,
275
288
isVoucher = false ,
276
289
requiresMandate = false ,
290
+ requiresMandateForPaymentIntent = false ,
277
291
hasDelayedSettlement = false ,
278
292
),
279
293
Eps (
280
294
" eps" ,
281
295
isReusable = false ,
282
296
isVoucher = false ,
283
- requiresMandate = true ,
297
+ requiresMandate = false ,
298
+ requiresMandateForPaymentIntent = false ,
284
299
hasDelayedSettlement = false ,
285
300
),
286
301
Oxxo (
287
302
" oxxo" ,
288
303
isReusable = false ,
289
304
isVoucher = true ,
290
305
requiresMandate = false ,
306
+ requiresMandateForPaymentIntent = false ,
291
307
hasDelayedSettlement = true ,
292
308
),
293
309
Alipay (
294
310
" alipay" ,
295
311
isReusable = false ,
296
312
isVoucher = false ,
297
313
requiresMandate = false ,
314
+ requiresMandateForPaymentIntent = false ,
298
315
hasDelayedSettlement = false ,
299
316
),
300
317
GrabPay (
301
318
" grabpay" ,
302
319
isReusable = false ,
303
320
isVoucher = false ,
304
321
requiresMandate = false ,
322
+ requiresMandateForPaymentIntent = false ,
305
323
hasDelayedSettlement = false ,
306
324
),
307
325
PayPal (
308
326
" paypal" ,
309
327
isReusable = false ,
310
328
isVoucher = false ,
311
329
requiresMandate = true ,
330
+ requiresMandateForPaymentIntent = false ,
312
331
hasDelayedSettlement = false ,
313
332
),
314
333
AfterpayClearpay (
315
334
" afterpay_clearpay" ,
316
335
isReusable = false ,
317
336
isVoucher = false ,
318
337
requiresMandate = false ,
338
+ requiresMandateForPaymentIntent = false ,
319
339
hasDelayedSettlement = false ,
320
340
),
321
341
Netbanking (
322
342
" netbanking" ,
323
343
isReusable = false ,
324
344
isVoucher = false ,
325
345
requiresMandate = false ,
346
+ requiresMandateForPaymentIntent = false ,
326
347
hasDelayedSettlement = false ,
327
348
),
328
349
Blik (
329
350
" blik" ,
330
351
isReusable = false ,
331
352
isVoucher = false ,
332
353
requiresMandate = false ,
354
+ requiresMandateForPaymentIntent = false ,
333
355
hasDelayedSettlement = false ,
334
356
),
335
357
WeChatPay (
336
358
" wechat_pay" ,
337
359
isReusable = false ,
338
360
isVoucher = false ,
339
361
requiresMandate = false ,
362
+ requiresMandateForPaymentIntent = false ,
340
363
hasDelayedSettlement = false ,
341
364
afterRedirectAction = AfterRedirectAction .Refresh (retryCount = MAX_RETRIES ),
342
365
),
@@ -345,20 +368,23 @@ constructor(
345
368
isReusable = false ,
346
369
isVoucher = false ,
347
370
requiresMandate = true ,
371
+ requiresMandateForPaymentIntent = false ,
348
372
hasDelayedSettlement = false ,
349
373
),
350
374
Affirm (
351
375
" affirm" ,
352
376
isReusable = false ,
353
377
isVoucher = false ,
354
378
requiresMandate = false ,
379
+ requiresMandateForPaymentIntent = false ,
355
380
hasDelayedSettlement = false ,
356
381
),
357
382
RevolutPay (
358
383
" revolut_pay" ,
359
384
isReusable = false ,
360
385
isVoucher = false ,
361
386
requiresMandate = true ,
387
+ requiresMandateForPaymentIntent = false ,
362
388
hasDelayedSettlement = false ,
363
389
afterRedirectAction = AfterRedirectAction .Poll (),
364
390
),
@@ -367,34 +393,39 @@ constructor(
367
393
isReusable = false ,
368
394
isVoucher = false ,
369
395
requiresMandate = false ,
396
+ requiresMandateForPaymentIntent = false ,
370
397
hasDelayedSettlement = false ,
371
398
),
372
399
Billie (
373
400
" billie" ,
374
401
isReusable = false ,
375
402
isVoucher = false ,
376
403
requiresMandate = false ,
404
+ requiresMandateForPaymentIntent = false ,
377
405
hasDelayedSettlement = false ,
378
406
),
379
407
Satispay (
380
408
" satispay" ,
381
409
isReusable = false ,
382
410
isVoucher = false ,
383
411
requiresMandate = false ,
412
+ requiresMandateForPaymentIntent = false ,
384
413
hasDelayedSettlement = false ,
385
414
),
386
415
Crypto (
387
416
" crypto" ,
388
417
isReusable = false ,
389
418
isVoucher = false ,
390
419
requiresMandate = false ,
420
+ requiresMandateForPaymentIntent = false ,
391
421
hasDelayedSettlement = false ,
392
422
),
393
423
AmazonPay (
394
424
" amazon_pay" ,
395
425
isReusable = false ,
396
426
isVoucher = false ,
397
427
requiresMandate = true ,
428
+ requiresMandateForPaymentIntent = false ,
398
429
hasDelayedSettlement = false ,
399
430
afterRedirectAction = AfterRedirectAction .Poll (),
400
431
),
@@ -403,41 +434,47 @@ constructor(
403
434
isReusable = false ,
404
435
isVoucher = false ,
405
436
requiresMandate = false ,
437
+ requiresMandateForPaymentIntent = false ,
406
438
hasDelayedSettlement = false ,
407
439
),
408
440
MobilePay (
409
441
" mobilepay" ,
410
442
isReusable = false ,
411
443
isVoucher = false ,
412
444
requiresMandate = false ,
445
+ requiresMandateForPaymentIntent = false ,
413
446
hasDelayedSettlement = false ,
414
447
),
415
448
Multibanco (
416
449
" multibanco" ,
417
450
isReusable = false ,
418
451
isVoucher = true ,
419
452
requiresMandate = false ,
453
+ requiresMandateForPaymentIntent = false ,
420
454
hasDelayedSettlement = true ,
421
455
),
422
456
Zip (
423
457
" zip" ,
424
458
isReusable = false ,
425
459
isVoucher = false ,
426
460
requiresMandate = false ,
461
+ requiresMandateForPaymentIntent = false ,
427
462
hasDelayedSettlement = false ,
428
463
),
429
464
USBankAccount (
430
465
code = " us_bank_account" ,
431
466
isReusable = true ,
432
467
isVoucher = false ,
433
468
requiresMandate = true ,
469
+ requiresMandateForPaymentIntent = true ,
434
470
hasDelayedSettlement = true ,
435
471
),
436
472
CashAppPay (
437
473
code = " cashapp" ,
438
474
isReusable = false ,
439
475
isVoucher = false ,
440
476
requiresMandate = true ,
477
+ requiresMandateForPaymentIntent = false ,
441
478
hasDelayedSettlement = false ,
442
479
afterRedirectAction = AfterRedirectAction .Refresh (),
443
480
),
@@ -446,20 +483,23 @@ constructor(
446
483
isReusable = false ,
447
484
isVoucher = true ,
448
485
requiresMandate = false ,
486
+ requiresMandateForPaymentIntent = false ,
449
487
hasDelayedSettlement = true ,
450
488
),
451
489
Konbini (
452
490
code = " konbini" ,
453
491
isReusable = false ,
454
492
isVoucher = true ,
455
493
requiresMandate = false ,
494
+ requiresMandateForPaymentIntent = false ,
456
495
hasDelayedSettlement = true ,
457
496
),
458
497
Swish (
459
498
code = " swish" ,
460
499
isReusable = false ,
461
500
isVoucher = false ,
462
501
requiresMandate = false ,
502
+ requiresMandateForPaymentIntent = false ,
463
503
hasDelayedSettlement = false ,
464
504
// We are intentionally polling for Swish even though it uses the redirect trampoline.
465
505
// About 50% of the time, the intent is still in `requires_action` status
@@ -472,6 +512,7 @@ constructor(
472
512
isReusable = false ,
473
513
isVoucher = false ,
474
514
requiresMandate = false ,
515
+ requiresMandateForPaymentIntent = false ,
475
516
hasDelayedSettlement = false ,
476
517
// We are intentionally polling for Twint even though it uses the redirect trampoline.
477
518
// About 50% of the time, the intent is still in `requires_action` status
0 commit comments