1. flutter sdk이용해서 flutter web 환경에서 결제가 가능한가요?
2. 아래 flutter sdk 샘플 코드를 보니 결제 요청 보내기 전에 orderId, amount등을 서버에 저장하는 로직이 없던데 이 로직은 어느 코드에 추가하면 될까요?
https://pub.dev/packages/tosspayments_widget_sdk_flutter
Dart packages
tosspayments_widget_sdk_flutter | Flutter package
This SDK helps you easily link the 'toss payments' payment module on the flutter.
38 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
flutter web은 저희가 공식지원하지 않습니다.
flutter web에 웹뷰 띄워서 연동해주시면 됩니다.
flutter sdk 로는 flutter web이 지원되지 않지만, flutter sdk사용하지 않고 flutter web안에서 웹뷰를 띄워 기존 javascript이용한 웹 환경 결제 방식을 구현해야 한다는 말씀이실까요?
이 코드가 flutter sdk 예제 코드인데요, 결제 요청 -> 승인 요청 두 번 요청을 보내야 하는 것으로 알 고 있는데, requestgPayment이후 // 결제 성공처리 라고 된 부분에서 승인 요청을 보내야 하는걸까요? 주석에 결제 성공처리라고 되어 있어서 마치 결제요청, 승인요청 둘다 성공한 것 처럼 보여서 여쭈어 봅니다 ^^
빠른 답변 감사합니다
onPressed: () async {
final paymentResult = await _paymentWidget.requestPayment(
paymentInfo: const PaymentInfo(orderId: 'OrderId_123', orderName: '파란티셔츠 외 2건'));
if (paymentResult.success != null) {
// 결제 성공 처리
} else if (paymentResult.fail != null) {
// 결제 실패 처리
}
},
승인요청까지 완료되어야 최종 성공입니다.
아 그럼 결제 성공처리 저기에서 저희쪽 서버 통해 승인요청 따로 보내면 될까요?
flutter sdk 로는 flutter web이 지원되지 않지만, flutter sdk사용하지 않고 flutter web안에서 웹뷰를 띄워 기존 javascript이용한 웹 환경 결제 방식을 구현해야 한다는 말씀이실까요? <- 이 부분도 답변 부탁드려용 ^_^
네 그렇게하시면될거에요
저희도 직접 해보진 않아서 정확하지 않을 수 있습니다.
어쨋든 저희 sdk도 웹뷰 띄워서 js실행하는걸 대신해주는 역할이어서요
이 이제에서는 클라이언 코드에 키를 박아서 사용하고 있는데, 보안 이슈는 없을까요?
@override
void initState() {
super.initState();
_paymentWidget = PaymentWidget(clientKey: "test_gck_docs_Ovk5rk1EwkEbP0W43n07xlzm", customerKey: "a1b2c3d4e5f67890");
네 clientKey는 문제없습니다. secretKey만 유출되지 않도록해주세요
아하!! 감사합니다 ^_^
빠르게 개발하는데 정말 큰 도움이 되고 있습니다. 답변 너무 감사합니다
flutter web에서 성공하신다음에 어떻게 했는지 간단히 공유해주시면 감사하겠습니다.
일전에 빌링방식 연동하신 분은 아래와 같이 이슈 해결하셨다고 공유하신 내용이 있어 전달드려요.
플루터 웹에서 웹뷰를 굴리는게 아마 대부분의 라이브러리에서 제대로 지원을 안할 수 있어요.
작업하시면서 안되시는 부분 계속 문의주시면 같이 도와드릴게요.
https://inappwebview.dev/blog/flutter-inappwebview-6/#web-support
inAppWebview로 처리하면 될 것 같네요.
Flutter InAppWebView 6 | InAppWebView
Flutter InAppWebView 6 is out right now with a lot of new cool features and a fresh new website built using Docusaurus 2.0! 🎉
꼭 아이프레임 기반으로 웹뷰가 그려지는 모듈로 해주시기 바랍니다. inAppWebview는 되는거로 알아요.
ㅠㅠㅠㅠ 넘 감사합니다...
InAppWebView로 해보겠습니다
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
결제위젯 연동 테스트 위해 클라이언트키와 시크릿키 받으려고 들어갔더니 이용 신청하라고 해서 신청했습니다.(신청한지 5분지남) -> 여전히 테스트 키가 안보이는데요, 테스트키를 볼 수 있는 방법이 있을까요?
안녕하세요
신청하고 나서 계약이 완료되어야 기본적으로 노출이됩니다.
그전에는 공용키를 통하여 연동해주셔야 합니다.
test_gck_docs_Ovk5rk1EwkEbP0W43n07xlzm
test_gsk_docs_OaPz8L5KdmQXkzRz3y47BMw6
이거 이용해보세요.
예 감사합니다
혹시 좌측에 상점 이라고 되어 있는 드랍박스에서 "개발용 테스트 상점" 이외에 다른 상점이 있는지도 확인부탁드립니다.
/success?paymentType={PAYMENT_TYPE}&orderId={ORDER_ID}
&paymentKey={PAYMENT_KEY}&amount={AMOUNT}
이건 get으로 날라오는거겠죠?
아님 post일까요?
get이요
감사합니당 ^^
이렇게 나옵니당
아 오늘 토스 결제창 뜨면 넘 좋겠당...
헤헤
다른 상점이 없는것으로 보아 계약도 진행을 안하신것 같네요.
계약전에는 가이드 페이지에 있는 키를 이용하시면됩니다.
예 감사합니다
웹뷰에서 결제 요청을 했는지 알아보기 위해서 orderId로 결제 요청이 있었는지 조회하고 싶은데 "결제 요청이 있었는지" 조회하는 API가 있을까요?
GET
/v1/payments/orders/{orderId}
이걸로 결제 요청까지만 보내고 결제 승인 하지 않은 건 조회가 가능할까요?
클라이언트단에서 호출해야 해서, secret없이 조회 가능하면 좋겠어용
네 안됩니다
그럼 모두가 볼 수 있겠죠
아 네.. 제가 toss flutter sdk 소스를 받아서 여기다 ios android뿐 아니라 web도 되게 해보려 하는데, 혹시 이후에 web을 지원하실 계획이 있으실까요?
현재 계획된 바는 없습니다
flutter의 WebViewWidget 이 아닌 InAppWebView를 이용해야 하는 이유가 궁금합니다~
혹시 저희랑 계약된 mid가 어떻게되실까요?
잠시만요 ^^
여기 있습니다~
확인 감사하니다.
sdk가 inappwebview기반으로 되어있는 것은, 브랜드페이 지원을 위함이며 세부적인 내용은 엔지니어링 적인 부분이라 공유 어려운 점 양해바랍니다.
아하, 감사합니다
https://pub.dev/packages/tosspayments_widget_sdk_flutter
여기 예제에서 success url과 failure url을 넘기는게 없는데요, 혹시 success, failure URL 까지 SDK가 구현해서 아래 코드로 분기되는걸까요?
if (paymentResult.success != null) {
// 결제 성공 처리
} else if (paymentResult.fail != null) {
// 결제 실패 처리
}
Dart packages
tosspayments_widget_sdk_flutter | Flutter package
This SDK helps you easily link the 'toss payments' payment module on the flutter.
sdk가 successURL을 알아서 받은후 ,result로 callback 넘겨줍니다.
새로운 문의는 새로운 포스팅으로 해주세요.
예 감사합니다