캔 결제수단 추가

- 카카오페이
This commit is contained in:
klaus 2024-08-27 17:05:23 +09:00
parent 63e9b705a9
commit e38778d9e7
4 changed files with 55 additions and 19 deletions

View File

@ -35,8 +35,8 @@ android {
applicationId "kr.co.vividnext.sodalive"
minSdk 23
targetSdk 34
versionCode 99
versionName "1.16.0"
versionCode 100
versionName "1.16.1"
}
buildTypes {
@ -137,7 +137,7 @@ dependencies {
implementation 'com.google.firebase:firebase-config-ktx'
// bootpay
implementation "io.github.bootpay:android:4.3.4"
implementation "io.github.bootpay:android:4.4.3"
// agora
implementation "io.agora.rtc:voice-sdk:4.2.6"

View File

@ -33,13 +33,17 @@ class CanPaymentActivity : BaseActivity<ActivityCanPaymentBinding>(
ActivityCanPaymentBinding::inflate
) {
enum class PaymentMethod(val method: String) {
CARD("카드"), BANK("계좌이체"), PHONE("휴대폰")
CARD("카드"),
BANK("계좌이체"),
PHONE("휴대폰"),
KAKAOPAY("카카오페이")
}
private val viewModel: CanPaymentViewModel by inject()
private var canResponse: CanResponse? = null
private var gotoPrevPage: Boolean = false
private var isKakao: Boolean = false
private val handler = Handler(Looper.getMainLooper())
@ -105,6 +109,9 @@ class CanPaymentActivity : BaseActivity<ActivityCanPaymentBinding>(
binding.tvMethodCard.setOnClickListener { viewModel.setPaymentMethod(PaymentMethod.CARD) }
binding.tvMethodBank.setOnClickListener { viewModel.setPaymentMethod(PaymentMethod.BANK) }
binding.tvMethodPhone.setOnClickListener { viewModel.setPaymentMethod(PaymentMethod.PHONE) }
binding.flMethodKakaopay.setOnClickListener {
viewModel.setPaymentMethod(PaymentMethod.KAKAOPAY)
}
viewModel.paymentMethodLiveData.observe(this) {
allPaymentMethodSelectFalse()
@ -114,15 +121,23 @@ class CanPaymentActivity : BaseActivity<ActivityCanPaymentBinding>(
PaymentMethod.CARD -> paymentMethodSelect(binding.tvMethodCard)
PaymentMethod.BANK -> paymentMethodSelect(binding.tvMethodBank)
PaymentMethod.PHONE -> paymentMethodSelect(binding.tvMethodPhone)
PaymentMethod.KAKAOPAY -> {
isKakao = true
binding.flMethodKakaopay
.setBackgroundResource(R.drawable.bg_round_corner_10_13181b_3bb9f1)
}
}
}
}
}
private fun allPaymentMethodSelectFalse() {
isKakao = false
paymentMethodSelectFalse(binding.tvMethodBank)
paymentMethodSelectFalse(binding.tvMethodCard)
paymentMethodSelectFalse(binding.tvMethodPhone)
binding.flMethodKakaopay
.setBackgroundResource(R.drawable.bg_round_corner_10_232323_777777)
}
private fun paymentMethodSelectFalse(view: TextView) {
@ -159,25 +174,34 @@ class CanPaymentActivity : BaseActivity<ActivityCanPaymentBinding>(
}
private fun requestPayment(chargeId: Long) {
var username = SharedPreferenceManager.nickname
if (username.length > 10) {
username = "${username.take(6)}..."
}
val user = BootUser()
.setId("${SharedPreferenceManager.userId}")
.setUsername(username)
val payload = Payload()
var payload = Payload()
.setApplicationId(BuildConfig.BOOTPAY_APP_HECTO_ID)
.setOrderId("$chargeId")
.setOrderName(canResponse!!.title)
.setPrice(canResponse!!.price.toDouble())
.setTaxFree(0.toDouble())
.setPg("세틀뱅크")
.setPg(
if (isKakao) {
"카카오"
} else {
"세틀뱅크"
}
)
.setMethod(viewModel.paymentMethodLiveData.value!!.method)
.setUser(user)
if (!isKakao) {
var username = SharedPreferenceManager.nickname
if (username.length > 10) {
username = "${username.take(6)}..."
}
val user = BootUser()
.setId("${SharedPreferenceManager.userId}")
.setUsername(username)
payload = payload.setUser(user)
}
Bootpay.init(this, this)
.setPayload(payload)

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -152,10 +152,22 @@
android:textColor="@color/color_eeeeee"
android:textSize="13.3sp" />
<View
<FrameLayout
android:id="@+id/fl_method_kakaopay"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
android:layout_marginStart="13.3dp"
android:layout_weight="1"
android:background="@drawable/bg_round_corner_10_232323_777777"
android:paddingVertical="8.3dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:contentDescription="@null"
android:src="@drawable/ic_kakaopay" />
</FrameLayout>
</LinearLayout>
<TextView