JSFiddle - React, Tailwind, and code Playground
by codemeasandwich
JavaScript
function test(amountFrom,credit){
debugger
const processingMinimumAmount = 100
let stripeAmount = 0;
let creditUsed = 0;
let creditLeft = credit
if(amountFrom <= processingMinimumAmount
&& credit < processingMinimumAmount && credit < amountFrom){
creditLeft = credit
creditUsed = 0
stripeAmount = processingMinimumAmount
} else if (credit >= amountFrom) {
creditUsed = amountFrom
creditLeft = credit - amountFrom
}else {
const amountRemaning = amountFrom - credit
if (amountRemaning > processingMinimumAmount) {
creditUsed = amountFrom - amountRemaning
creditLeft = 0
stripeAmount = amountRemaning
} else if (amountRemaning <= processingMinimumAmount){
creditLeft = processingMinimumAmount - amountRemaning
creditUsed = processingMinimumAmount - credit
stripeAmount = processingMinimumAmount
}
}
return {stripeAmount,creditUsed,creditLeft}
}
console.log(test(1700,200),{stripeAmount:1500,creditUsed:200,creditLeft:0})
console.log(test(101,1416),{stripeAmount:0,creditUsed:101,creditLeft:1315})
console.log(test(200,56),{stripeAmount:144,creditUsed:56,creditLeft:0})
console.log(test(140,60),{stripeAmount:100,creditUsed:40,creditLeft:20})
console.log(test(140,160),{stripeAmount:0,creditUsed:140,creditLeft:20})
console.log(test(40,60),{stripeAmount:0,creditUsed:40,creditLeft:20})
console.log(test(40,30),{stripeAmount:100,creditUsed:0,creditLeft:30})
console.log(test(40,160),{stripeAmount:0,creditUsed:40,creditLeft:120})
console.log(test(40,0),{stripeAmount:100,creditUsed:0,creditLeft:0})