STRIPE : Le champ 'locale' n'est pas forcement OK si on prend la langue du site et qu'elle n'est pas connue de l'api.

Hello, en effet en essayant avec un site qui parle en kurde latin (ku_lat) j'obtiens cette erreur :

[stripe_test] call_request: Erreur lors de la creation du Checkout\Session acte : Invalid locale: must be one of auto, bg, cs, da, de, el, en, en-GB, es, es-419, et, fi, fil, fr, fr-CA, hr, hu, id, it, ja, ko, lt, lv, ms, mt, nb, nl, pl, pt, pt-BR, ro, ru, sk, sl, sv, th, tr, vi, zh, zh-HK, or zh-TW

Je propose donc de définir la locale à auto si on est pas dans une langue connue de Stripe avec un :

$locale = (in_array($GLOBALS['spip_lang'], array("bg", "cs", "da", "de", "el", "en", "en-GB", "es", "es-419", "et", "fi", "fil", "fr", "fr-CA", "hr", "hu", "id", "it", "ja", "ko", "lt", "lv", "ms", "mt", "nb", "nl", "pl", "pt", "pt-BR", "ro", "ru", "sk", "sl", "sv", "th", "tr", "vi", "zh", "zh-HK", "zh-TW"))) ? $GLOBALS['spip_lang'] : "auto" ;

Qu'on utilisera ensuite dans le paiement à l'acte et dans l'abonnement.

https://github.com/nursit/bank/blob/master/presta/stripe/call/request.php#L232

https://github.com/nursit/bank/blob/master/presta/stripe/call/request.php#L302