Barco
TPToss payments 개발자 커뮤니티
•Created by Barco on 8/7/2023 in #❓┃연동개발-문의
SWIFTUI TOSS WIDGET SINGLEPAGE
https://github.com/KimJoohyung/openCode/blob/main/TOSS%20SWIFTUI%20SINGLE%20PAGE
TOSS github 보고 쪼개져있는 페이지들을 하나로 묶었습니다.
TOSS SPM하시고 swiftui 에서 파일 만들어서 복붙하시고.. 설명대로 주석해제하시면 됩니다
상점코드는 TOSS 상점 가입하시고 부여받으신걸로 입력하시면됩니다.
9 replies
TPToss payments 개발자 커뮤니티
•Created by Barco on 8/4/2023 in #❓┃연동개발-문의
swiftui
swiftUI 에서 결제 위젯을 붙이려고 합니다.
webView.loadHTMLString(service.htmlString, baseURL: URL(string: "https://tosspayments.com"))
github에는 위젯이 아니라 결제 웹이 붙는형식으로 보입니다.
개인적으로
struct TossPaymentsWebView: UIViewRepresentable{
private let service: PaymentWidget? let payAmount : Int?
init(payAmount: Int? = nil) { self.payAmount = payAmount service = PaymentWidget(clientKey: SecureKeys.TossTestClientKey.rawValue, customerKey: "cskey") }
func makeUIView(context: Context) -> WKWebView { if let payAmount = payAmount{ if let webView = service?.renderPaymentMethods(amount: PaymentMethodWidget.Amount(value: Double(payAmount))){ return webView }else{ return WKWebView() } }else{ return WKWebView() }
}
func updateUIView(_ uiView: WKWebView, context: Context) {
}
} 이런식으로 결제 위젯까지는 뛰웠는데. requestPayment(info: DefaultWidgetPaymentInfo(orderId: "123", orderName: "test"), on: controller)에서 uiviewcontroller를 올리는데 문제가 생겼습니다. swiftui 에서 결제 위젯을 올리는 방법, 혹은 webView.loadHTMLString(service.htmlString, baseURL: URL(string: "https://tosspayments.com")) 페이지에서 결제 위젯처럼 간편결제리스트가 바로 보이게 할수있나요??
private let service: PaymentWidget? let payAmount : Int?
init(payAmount: Int? = nil) { self.payAmount = payAmount service = PaymentWidget(clientKey: SecureKeys.TossTestClientKey.rawValue, customerKey: "cskey") }
func makeUIView(context: Context) -> WKWebView { if let payAmount = payAmount{ if let webView = service?.renderPaymentMethods(amount: PaymentMethodWidget.Amount(value: Double(payAmount))){ return webView }else{ return WKWebView() } }else{ return WKWebView() }
}
func updateUIView(_ uiView: WKWebView, context: Context) {
}
} 이런식으로 결제 위젯까지는 뛰웠는데. requestPayment(info: DefaultWidgetPaymentInfo(orderId: "123", orderName: "test"), on: controller)에서 uiviewcontroller를 올리는데 문제가 생겼습니다. swiftui 에서 결제 위젯을 올리는 방법, 혹은 webView.loadHTMLString(service.htmlString, baseURL: URL(string: "https://tosspayments.com")) 페이지에서 결제 위젯처럼 간편결제리스트가 바로 보이게 할수있나요??
70 replies