nursit/bank

Stripe Forcer la double authentification

Closed this issue · 3 comments

J'ai besoin de forcer le déclenchement de la double authentification (à la demande d'un client).
Cependant je suis incapable de trouver dans le code du module stripe l'endroit ou je dois ajouter le paramètre
payment_method_options[card][request_three_d_secure]
Comme expliquer dans cette documentation :
https://stripe.com/docs/payments/3d-secure#manual-three-ds

Je pense que ce serait intéressant de rendre cela optionnel dans la config de la presta.
Merci

Je suppose que ce serait là https://github.com/nursit/bank/blob/master/presta/stripe/call/request.php#L219 au même endroit que payment_method_types mais la doc ne le mentionne pas explicitement pour le checkout, donc à tester et confirmer.

Ce pourrait en effet être une configuration supplémentaire type : "Activation de 3DS : [ ] automatique [ ] toujours", dont la valeur par défaut serait auto. Et si on force à toujours ça ajoute l'option qui va bien sur payment_method_options

C'est exactement ce que j'ai essayé mais en vain.

  $payment_method_options =  [
                    'card' => [
                        'request_three_d_secure' => 'any'
                    ]; 
			$session_desc = [
				'payment_method_types' => $payment_types,
               'payment_method_options' => $payment_method_options,
				'mode' => 'payment',
				'line_items' => [
					[
						'price_data' => [
							'unit_amount' => $item['amount'],
							'currency' => $item['currency'],
							'product_data' => $product_data
						],
						'quantity' => 1,
					]
				],

mais cela ne fonctionne pas.
plugins/bank-presta_perso/presta/stripe/call/request.php:presta_stripe_call_request_dist()
call_request: Erreur lors de la creation du Checkout\Session acte : Received unknown parameter: payment_method_options[card][request_three_d_secure]

Ah ben je sais pas alors, il faut chercher dans la doc ou essayer des alternatives... peut-être dumper le checkout une fois créé pour voir si on a une référence au payment_intent et le modifier dans un second temps dans ce cas ?

Il faut creuser, la doc n'est parfois pas très fantastiquement claire...