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})