LG U + 고객안내用 신한카드모바일 App. 결제서비스출시와관련한고객사안내 2012. 11. LG U + 전자결제서비스
1. 기본개요 최근적용된 [ 신한카드모바일 App. 결제서비스 ] 와관련하여 1 서비스개요및 2 고객사변경필요사항을정리하여안내드립니다. 서비스개요 : 신한카드가제공하는결제 App. 을사용해사전등록한신한카드정보를선택한후결제비밀번호를입력하여결제하는서비스 (30 만원초과시공인인증서 ) [ 결제요청 ] [ 신한카드선택 ] [ 결제 App. 구동 /PW입력] [ 결제카드선택 ] [ 결제완료 ] 서비스상세소개 : http://www.shinhancard.com/conts/person/optional_service/smart_sev/smartphone.jsp 앱스토어에서최초 1회결제어플리케이션을설치한후사용할신한카드및결제비밀번호등록이필요함 ios 일부환경에서고객사변경작업이필요함 사용자불편및민원발생방지를위해본문서안내사항을꼭확인하시기바랍니다! U + 전자결제고객지원 : 1544-7772, paytech@lguplus.co.kr
2-1. 신한카드스마트폰결제프로세스 ( 기존 ) 1 신한카드선택시, [ 안심클릭 ] 과 [ 간편결제 ] 중고객이선택한방식으로결제처리 2 30 만원미만의경우별도 App. 설치없이웹환경에서결제처리됨 [ 쇼핑몰 ] [ 신한카드 ] 안심클릭인증요청전문 안심클릭응답전문 [ 결제요청 ] [ 신한카드선택 ] [ 안심클릭 / 간편결제창 ]
2-2. 신한카드스마트폰결제프로세스 ( 변경 ) 1 기존안심클릭 / 간편결제外신규모바일 App. 결제서비스추가 결제방식을선택하는 Bridge Page 신설 2 결제전 Bridge Page에서결제방식선택후선택된방식으로결제처리 [ 기존결제 ] 혹은 [App. 결제 ] 로분기 신한카드 App. 결제방식추가! [ 신한카드 ] [ 기존결제창 ] [ 쇼핑몰 ] 안심클릭 / 간편결제처리 기존카드결제창호출 안심클릭인증요청전문 안심클릭응답전문 [ 결제요청 ] [ 신한카드선택 ] [ 결제방식선택 ] Bridge Page 모바일앱결제처리 추가된결제인터페이스 신규결제 App. 호출 최초 App. 설치필요 [App. 결제창 ]
3. 서비스제공범위및고객사변경사항안내 [ 표 1. 서비스제공범위 ] 신한카드인증방식 쇼핑몰구분 OS 구분 안심클릭 간편결제 모바일앱결제 ( 12 년 11 월신규추가 ) 비고 App. 쇼핑몰 ios 가능가능 가능 ( 단, 고객사작업필요 ). ios4 이후부터사용가능 (ios3 이하미지원. App. 쇼핑몰은고객사변경작업필요함 Android OS 가능가능가능 모바일웹쇼핑몰 ios 가능가능가능 고객사의특별한변경작업없이이용가능 Android OS 가능가능가능 고객사변경필요사항 고객사쇼핑몰이앱으로구성된경우 ios 환경에신한카드모바일 App. 결제실패가발생할수있습니다. ios 환경하에신한카드모바일 App. 결제를위해서는별도스키마및다운로드 URL 적용이필요합니다. 세부변경사항은다음장안내및 Sample 가이드를참고해주십시오! 상기사항이적용되지않은쇼핑몰의경우 ios App. 환경에서신한카드스마트앱결제가비정상 작동하여구매자불편및고객민원의발생이예상됩니다.
4. 고객사변경가이드 U+ 전자결제서비스는고객사에하기 3 개방안을안내드립니다. [ 표 2. 변경방안및상세내용 ] 방안 방안 -1) WebView 오버라이딩제거 내용 - 고객사 Source-Code 를수정하여 WebView 오버라이딩기능을사용하지않도록함 -U+ 전자결제스마트폰연동 Guide 기본안내 방안 -2) WebView 오버라이딩사용 + 신한카드 App. 실행 Sample 제공 - 고객사 Source-Code 의 WebView 오버라이딩메소드내에 신한카드모바일앱 을처리하도록아래 다운로드 url 과 url 스키마 가실행될수있도록소스수정 - 신한모바일다운로드 url : @ https://itunes.apple.com/kr/app/sinhan-mobilegyeolje/id572462317?mt=8 - 신한모바일 url 스키마 : @ shinhan-sr-ansimclick ; - 별첨 Sample-2) 신한카드 App. 만실행하는샘플코드 참조 방안 -3) WebView 오버라이딩사용 + 모든 App. 실행 Sample 제공 - 고객사 Source-Code 내특정앱만처리하도록구현된부분을모든앱을처리할수있도록수정 ( 향후다른카드사도모바일앱결제출시를고려한방안 ) - 별첨 Sample-3) 모든앱실행하는샘플코드 참조 방안 2, 3 에해당하는 Sample 문서는별첨자료참조
[ 별첨 ] 방안 2 用 Sample 신한카드 App. 을실행하는 Sample Code - (BOOL)webView:(UIWebView *)webview shouldstartloadwithrequest:(nsurlrequest *)request navigationtype:(uiwebviewnavigationtype) navigationtype { UIDevice* device = [UIDevice currentdevice]; BOOL backgroundsupported = NO; if ([device respondstoselector:@selector(ismultitaskingsupported)]) backgroundsupported = device.multitaskingsupported; NSLog(@ backgroundsupported ==>%@",(backgroundsupported?@"yes":@"no")); if (!backgroundsupported){ UIAlertView *alert=[[uialertview alloc] initwithtitle:@ 안내 " message:@" 멀티테스킹을지원하는기기또는어플만서비스가능합니다." delegate:nil cancelbuttontitle:@"ok" otherbuttontitles:nil]; [alert show]; [alert release]; // 스마트신한앱다운로드 url NSString *sh_url = @"http://itunes.apple.com/us/app/id360681882?mt=8"; // 신한 Mobile 앱다운로드 url NSString *sh_url_2 = @"https://itunes.apple.com/kr/app/sinhan-mobilegyeolje/id572462317?mt=8"; // 스마트신한 url 스키마 NSString *sh_appname = @"smshinhanansimclick"; // 스마트신한앱 url 스키마 NSString *sh_appname2 = @"shinhan-sr-ansimclick"; 참고 NSString *requrl=[[request URL] absolutestring]; NSLog(@"webview 에요청된 url==>%@",requrl); if ([requrl isequaltostring:sh_url] == YES ){ NSLog(@"1. 스마트신한관련 url 입니다. ==>%@",requrl); [[UIApplication sharedapplication] openurl:[request URL]]; if ( [requrl hasprefix:sh_appname]){ NSLog(@"2. 스마트신한관련 url 입니다.==>%@",reqUrl); [[UIApplication sharedapplication] openurl:[request URL]]; if ([requrl isequaltostring:sh_url2] == YES ){ NSLog(@"1. 스마트신한앱관련 url 입니다. ==>%@",requrl); [[UIApplication sharedapplication] openurl:[request URL]]; if ( [requrl hasprefix:sh_appname2]){ NSLog(@"2. 신한 Mobile 결제앱관련 url 입니다.==>%@",reqUrl); [[UIApplication sharedapplication] openurl:[request URL]]; 참고
[ 별첨 ] 방안 3 用 Sample 모든 App. 을실행하는 Sample Code (BOOL)webView:(UIWebView*)webView shouldstartloadwithrequest:(nsurlrequest*)request navigationtype:(uiwebviewnavigationtype)navigationtype { // 멀티태스킹만신한카드앱이작동되게끔. Iphone 4 이후가능 UIDevice* device = [UIDevice currentdevice]; BOOL backgroundsupported = NO; if ([device respondstoselector:@selector(ismultitaskingsupported)]) backgroundsupported = device.multitaskingsupported; NSLog(@ backgroundsupported ==>%@",(backgroundsupported?@"yes":@"no")); if (!backgroundsupported){ UIAlertView *alert=[[uialertview alloc] initwithtitle:@ 안내 " message:@" 멀티테스킹을지원하는기기또는어플만서비스가능합니다." delegate:nil cancelbuttontitle:@"ok" otherbuttontitles:nil]; [alert show]; [alert release]; /* * 고객앱에서조치할사항 */ NSURL *URL = [[request URL] absolutestring]; if ([[URL scheme] isequaltostring:@"http"] == NO && [[URL scheme] isequaltostring:@"https"] == NO) [webview stoploading]; [[UIApplication sharedapplication] openurl:[url]]; 참고 [[UIApplication sharedapplication] openurl:[url]]; # 상기코드가하기와같은함수에포함될수있습니다. 포함된코드에서상기처럼조치하십시오. - (void)webviewdidstartload:(uiwebview *)webview - (void)webviewdidfinishload:(uiwebview *)webview - (void)webview:(uiwebview *)webview didfailloadwitherror:(nserror *)error - (BOOL)webView:(UIWebView *)webview shouldstartloadwithrequest:(nsurlrequest *)request navigationtype:(uiwebviewnavigationtype)navigationtype {