fix(labrinth): tentative billing period update fix (#3722)

* fix(labrinth/billing): add Spain and Singapore to the list of countries for currency inferences

This should fix payments in those countries not going through with their
local currencies for products that do not have USD-only pricing.

* fix(labrinth/billing): tentative fix for subscription periods not updating
This commit is contained in:
Alejandro González 2025-05-31 11:00:08 +02:00 committed by GitHub
parent b66d99c59c
commit 6fa1369c49
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1020,6 +1020,7 @@ fn infer_currency_code(country: &str) -> String {
"BE" => "EUR",
"CY" => "EUR",
"EE" => "EUR",
"ES" => "EUR",
"FI" => "EUR",
"FR" => "EUR",
"DE" => "EUR",
@ -1066,6 +1067,7 @@ fn infer_currency_code(country: &str) -> String {
"TW" => "TWD",
"SA" => "SAR",
"QA" => "QAR",
"SG" => "SGD",
_ => "USD",
}
.to_string()
@ -1302,6 +1304,12 @@ pub async fn initiate_payment(
amount: Some(price),
currency: Some(stripe_currency),
customer: Some(customer),
metadata: interval.map(|interval| {
HashMap::from([(
"modrinth_subscription_interval".to_string(),
interval.as_str().to_string(),
)])
}),
..Default::default()
};