안드로이드 결제연동
1. 전자 결제 신청 X -> 결제 위젯 연동 키 사용 불가
2. API 개별 연동 키 사용 중
3. iOS에서 TossPaymentsView로 웹뷰 활용
-> 가이드에서 못 찾고 sdk 코드 보다가 TossPaymentsView 보고 사용
4. 안드로이드에선 어떤 객체를 활용해야 하는지 궁금합니다(TossPaymentsView와 같은 객체가 있는지?)
5. 현재 샘플 파일 clone해서 사용 중인데 LAUCH WEB 버튼 누르면 흰 배경만 뜹니다. (clientID, orderID 입력 완료)
- 샘플(https://github.com/tosspayments/brandpay-sdk-android-sample)
6. 당연한 건지는 모르겠지만 현재 url은 https://testbox.tosspayments.com/brandpay/test 로 나오고 따로 해당 링크 들어가도 화면에 아무것도 안뜹니다.
--> 안드로이드에서 webview를 활용하기 위한 방법이 따로 있는건지 궁금합니다
https://www.tosspayments.com/blog/articles/mobile-pay-2 이 문서도 활용해봤지만
import com.tosspayments.paymentsdk.model.PaymentCallback
import com.tosspayments.paymentsdk.model.PaymentWidgetStatusListener
import com.tosspayments.paymentsdk.model.TossPaymentResult
import com.tosspayments.paymentsdk.view.PaymentMetho
import쪽에서 에러가 나더라구요
GitHub
GitHub - tosspayments/brandpay-sdk-android-sample
Contribute to tosspayments/brandpay-sdk-android-sample development by creating an account on GitHub.
Android 앱에서 결제 주문서 만드는 방법
Android의 4대 컴포넌트 중 하나인 액티비티(Activity)가 뭔지 알아보고 토스페이먼츠 결제위젯으로 간단한 결제 주문서 화면을 만들어볼게요.
17 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
샘플을 잘못사용하셨네요.
해당 샘플을 브랜드페이용 샘플입니다.
https://www.tosspayments.com/blog/articles/mobile-pay-2 이문서도 결제위젯용 연동문서입니다.
Android 앱에서 결제 주문서 만드는 방법
Android의 4대 컴포넌트 중 하나인 액티비티(Activity)가 뭔지 알아보고 토스페이먼츠 결제위젯으로 간단한 결제 주문서 화면을 만들어볼게요.
계약전에 연동해 보시려는 건가요?
네 맞습니다..!! 아직 계약전입니다!
웹뷰로 연동하시려면 웹서버에서 일단 웹페이지로 연동하신후에
안드로이드에서 웹뷰를 띄우시고 구현하신 웹서버의 URL 을 로딩하셔야 합니다.
그래서 웹페이지부터 구현하셔야 해요.
💡 정보 제출
민감 정보를 안전하게 제출해주세요
여기에 사업자 정보 공유 부탁드립니다.
iOS에서는 TossPaymentsView가 있던데 안드로이드쪽에서는 반드시 웹페이지를 구현을 해야하는거죠??
TossPaymentsView 이건 결제위젯 에서만 사용 가능합니다.
정확히는 TossPaymentsView 를 쓰셔도 결제위젯을 안쓰시면 반드시 웹페이지를 구현하셔야 합니다.
#if canImport(SwiftUI) && canImport(UIKit)
import SwiftUI
import UIKit
import WebKit
@available(iOS 14.0, *)
struct TossPaymentsWebView: UIViewRepresentable {
private let service: TossPaymentsService
init(service: TossPaymentsService) {
self.service = service
}
func makeUIView(context: Context) -> WKWebView { let webView = WKWebView() webView.navigationDelegate = service webView.loadHTMLString(service.htmlString, baseURL: URL(string: "https://tosspayments.com")) return webView }
func updateUIView(_ uiView: WKWebView, context: Context) {
} } #endif 한 뎁스 더 들어갔더니 이렇게나오네요 이걸 사용했더니 iOS에서 테스트가 가능하더라구요 로그도 잘 남고 그래서 혹시나 안드로이드에서도 같은 방법이 있는지 궁금했습니다.
func makeUIView(context: Context) -> WKWebView { let webView = WKWebView() webView.navigationDelegate = service webView.loadHTMLString(service.htmlString, baseURL: URL(string: "https://tosspayments.com")) return webView }
func updateUIView(_ uiView: WKWebView, context: Context) {
} } #endif 한 뎁스 더 들어갔더니 이렇게나오네요 이걸 사용했더니 iOS에서 테스트가 가능하더라구요 로그도 잘 남고 그래서 혹시나 안드로이드에서도 같은 방법이 있는지 궁금했습니다.
GitHub
GitHub - tosspayments/payment-sdk-android
Contribute to tosspayments/payment-sdk-android development by creating an account on GitHub.
이코드를 그럼 보실수 있을까요?
네네 확인해보겠습니다
아 이 sdk도 clone받고 실행했을 때, Select Build Variant 아무런 응답이 없어서 sample 코드로 봤던 것 같습니다. 다시 한 번 확인해보겠습니다
빌드해보니 위젯을 제외하고는
테스트 결제창까지는 잘 나오는 것 같습니다 감사합니다!!
혹시 후에 사업자 정보 제출한 이후에 실결제의 경우엔 위젯 활용이 권장되는 것이 맞나요?
아뇨 위젯을 쓸지 결제창을 쓸지는 가맹점이 정하시면 됩니다.
아하 그렇군요 감사합니다!
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.