[#50] Tosspay API Mocking 서버 구현 #51

Merged
pricelees merged 21 commits from feat/#50 into main 2025-10-02 01:13:07 +00:00
Showing only changes of commit c921a9a89a - Show all commits

View File

@ -0,0 +1,45 @@
package com.sangdol.tosspaymock.business.domain
object RandomCardValueGenerator {
fun cardNumber(): String {
return "${(10000000..99999999).random()}****${(100..999).random()}*"
}
fun approvalNumber(): String {
return "${(0..99999999).random()}".padStart(8, '0')
}
fun installmentPlanMonths(amount: Int): Int {
return if (amount < 50_000 || Math.random() < 0.95) {
0
} else {
(1..6).random()
}
}
}
object RandomEasypayValueGenerator {
fun point(amount: Int): Int =
if (amount < 100 || Math.random() < 0.8) {
0
} else {
// 100~amount 까지 100원 단위로 생성
((100..amount).random() / 100) * 100
}
}
object RandomPaymentValueGenerator {
fun mId(): String {
val words = ('a'..'z')
val randomValue = (1..9).map { words.random() }.joinToString("")
return "tgen_${randomValue}"
}
fun transactionKey(): String {
val prefix = "txrd"
val characters = ('0'..'9') + ('a'..'z')
val randomString = (1..24).map { characters.random() }.joinToString("")
return "${prefix}_${randomString}"
}
}