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.
35 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에서 성공하신다음에 어떻게 했는지 간단히 공유해주시면 감사하겠습니다.
일전에 빌링방식 연동하신 분은 아래와 같이 이슈 해결하셨다고 공유하신 내용이 있어 전달드려요.
ㅠㅠㅠㅠ 넘 감사합니다...
InAppWebView로 해보겠습니다
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
결제위젯 연동 테스트 위해 클라이언트키와 시크릿키 받으려고 들어갔더니 이용 신청하라고 해서 신청했습니다.(신청한지 5분지남) -> 여전히 테스트 키가 안보이는데요, 테스트키를 볼 수 있는 방법이 있을까요?

예 감사합니다
혹시 좌측에 상점 이라고 되어 있는 드랍박스에서 "개발용 테스트 상점" 이외에 다른 상점이 있는지도 확인부탁드립니다.
/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 넘겨줍니다.
새로운 문의는 새로운 포스팅으로 해주세요.
예 감사합니다