Skip to content

Conversation

sieunju
Copy link

@sieunju sieunju commented Sep 18, 2023

[REFACTOR] PaymentMethod Widget 에서 결제 요청시 사용하는 PaymentMethod.PaymentInfo 구조 변경안

이유

  • 실제 고객사에서 해당 데이터모델 사용시 아래 방식으로 데이터모델을 생성후 처리
val paymentInfo = PaymentMethod.PaymentInfo(
    orderId = model.orderId,
    orderName = model.orderName
)
paymentInfo.customerName = model.customerName
paymentInfo.customerEmail = model.customerEmail
paymentInfo.customerMobilePhone =  model.customerMobilePhone
paymentInfo.showCustomerMobilePhone = true
  • 위 방식보단 아래 방식이 나을거 같아서 제안 해봅니다!
PaymentMethod.PaymentInfo.Builder()
            .setOrderId("20230918222222")
            .setOrderName("주문 번호")
            .setCustomerName("구매할 고객명")
            .setCustomerEmail("[email protected]")
            .setCustomerMobilePhone("010-1234-5678")
            .setShowCustomerMobilePhone(true)
            .build()
  • 추가로 이전에 객체 생성 시 orderId, orderName 필수로 받던 처리에 대하서도 지원을 하면서 Deprecated 추가하여 Builder 방식으로 유도 할수 있도록 주석 추가
constructor(orderId: String, orderName: String) : this(
            Builder()
                .setOrderId(orderId)
                .setOrderName(orderName)
        )

ps. 실제 저희 서비스에서 해당 SDK 사용하다가 "이방식으로 하면 어떨까?"라는 생각에 제안 드려봅니다. 🙇‍♂️

sieunju and others added 11 commits September 18, 2023 10:06
* feat: 결제창 v1 js 스크립트 주소 최신화

* feat: staging, dev 빌드 환경의 결제창 html 추가

* feat: TossCardPaymentInfo에 currency 필드 추가

* feat: 샘플 앱 currency 선택 지원
…o feature/refactor_data_model

# Conflicts:
#	paymentsdk/src/main/java/com/tosspayments/paymentsdk/view/PaymentMethod.kt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants