Я создаю пропорциональную плату за 1-й месяц подписки, используя billing_cycle_anchor , чтобы убедиться, что 1-й полный счет-фактура взимается 1-го числа следующего месяца.
Эта часть работает хорошо, но затем Stripe вычисляет пропорциональную ставку для текущего счета-фактуры, которая находится между (прямо сейчас) и будущей датой выставления счета.
Как я могу рассчитать и показать этот пропорциональный платеж моему клиенту до фактической зарядки их карты?
В настоящее время мы используем приведенную ниже формулу для расчета текущей суммы пропорциональности, но она не является точной. Наша формула отображала 3,54 USD , но в результате нашивки закончились начислением 3,87 USD
async function getThisMonth(pmtdata) {
let now = Date.now();
var lastday = function(y,m){
return new Date(y, m +1, 0).getDate();
}
let seconds = now / 1000;
let year = new Date().getFullYear();
let month = new Date().getMonth();
if(month <= 10) {
let date = lastday(year,month);
let l1 = 86400 * Number(date);
let l2 = Number(pmtdata.numberPrice) / l1;
let todayD = new Date().getUTCDate();
let l3 = date - todayD;
let l4 = 86400 * l3;
let finalOut = Number(l2 * l4).toFixed(2);
$w("#thisMonth").text = finalOut + ' ' + pmtdata.currency;
chargeable = finalOut;
} else if(month === 11) {
month = await -1;
let date = lastday(year,month);
let l1 = 86400 * Number(date);
let l2 = Number(pmtdata.numberPrice) / l1;
let todayD = new Date().getUTCDate();
let l3 = date - todayD;
let l4 = 86400 * l3;
let finalOut = Number(l2 * l4).toFixed(2);
$w("#thisMonth").text = finalOut + ' ' + pmtdata.currency;
chargeable = finalOut;
}
}
pmtdata содержит ежемесячную цену и валюту