웹뷰연동 작업 후 다른 건 결제가 잘 되는데, 현대카드가 안됩니다.
모바일 웹뷰앱인데요, pc에서 접속 후 결제는 다 잘되는데 ios에서 웹뷰앱 설치 후에 카드 결제가 안돼서
xcode에서 앱스킴 등록작업을 하여 testflight 를 했습니다.
카카오페이나 bc카드 등 안되던 것들이 정상적으로 되는데, 현대카드만 안되고 있습니다.
현대카드 선택 후 결제하기 누르면 이미지처럼 랜더링이 되는데, 저기서 버튼을 아무리 눌러도 앱이 실행이 안됩니다. ㅠㅠ
<string>hdcardappcardansimclick</string>
<string>smhyundaiansimclick</string>
let customSchemes = [
"supertoss", "kb-acp", "liivbank", "newliiv", "kbbank",
"nhappcardansimclick", "nhallonepayansimclick", "nonghyupcardansimclick",
"lottesmartpay", "lotteappcard", "mpocket.online.ansimclick",
"ansimclickscard", "tswansimclick", "ansimclickipcollect",
"vguardstart", "samsungpay", "scardcertiapp", "shinhan-sr-ansimclick",
"smshinhanansimclick", "com.wooricard.wcard", "newsmartpib",
"citispay", "citicardappkr", "citimobileapp", "cloudpay",
"hanawalletmembers", "hdcardappcardansimclick", "smhyundaiansimclick",
"shinsegaeeasypayment", "payco", "lpayapp", "ispmobile",
"tauthlink", "ktauthexternalcall", "upluscorporation",
"kftc-bankpay", "kakaotalk", "wooripay", "lmslpay",
"hanaskcardmobileportal", "kb-bankpay", "kakaobank"
]
여기에 현대카드 추가를 했는데도 안돼요 ㅠㅠ
11 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
현대카드 말고 다른 카드는 모두 잘되시는 건가요?
현대카드 눌렀을때 에러같은건 발생하지 않으시는 건가요?
안녕하세요. 밤 늦게 죄송합니다.
낮에 상담해 주신 분이네요.
bc카드, 카카오결제 이런게 원래 안되었는데 xcode에서 앱스킴 작업후에 정상적으로 되었어요. 그런데 현대카드만 제가 말씀드린 것처럼 안되고 있습니다.
우선 https://drive.google.com/file/d/13LQhrr8zfxqKPlILmDEaKZrwz3VgiQYJ/view?usp=sharing 여기 샘플로 테스트 부탁드립니다.
Google Docs
TossPayments_iOS_WKWebView_Sample(Swift).zip
혹시 플러터인가요?
야뇨 xcode입니다.
xcode 로 웹뷰한 구현한 샘플이니까 저 샘플앱으로 구현하신 웹페이지 띄워서 테스트 해보시면 될거에요.
앱스킴 설정없이 구현하도록 된것이라 이게 관리하시기도 편할겁니다.
//
// ViewController.swift
// TossPaymentsSample
//
// Created by 송민지 on 2021/04/02.
//
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate, WKNavigationDelegate {
@IBOutlet weak var webView: WKWebView!
override func loadView() { super.loadView() webView.uiDelegate = self webView.navigationDelegate = self }
override func viewDidLoad() { super.viewDidLoad()
let myURL = URL(string:"https://payment-sample.dev.tosspayments.com/test/demo") let myRequest = URLRequest(url: myURL!) webView.load(myRequest) }
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { if let url = navigationAction.request.url, url.scheme != "http" && url.scheme != "https" { UIApplication.shared.open(url, options: [:], completionHandler: nil) decisionHandler(.cancel) } else { decisionHandler(.allow) } } } 이 부분에 앱스킴이 없다는거지요?
override func loadView() { super.loadView() webView.uiDelegate = self webView.navigationDelegate = self }
override func viewDidLoad() { super.viewDidLoad()
let myURL = URL(string:"https://payment-sample.dev.tosspayments.com/test/demo") let myRequest = URLRequest(url: myURL!) webView.load(myRequest) }
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { if let url = navigationAction.request.url, url.scheme != "http" && url.scheme != "https" { UIApplication.shared.open(url, options: [:], completionHandler: nil) decisionHandler(.cancel) } else { decisionHandler(.allow) } } } 이 부분에 앱스킴이 없다는거지요?
네 info.plist 에도 앱스킴 설정없이 동작하는 코드입니다.
예 일단 해 보겠습니다. 감사합니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.