1

Windows UWP (데스크톱/태블릿 및 전화 용)에 응용 프로그램이 있으며 Paypal 지불 게이트웨이와 통합됩니다. paypal에 데이터를 전달할 준비가되면 팝업 브라우저를 열어 사용자 확인을 위해 페이팔 대화 상자를 표시해야합니다. (https://checkout.paypal.com/one-touch-login-sandbox/index.html)Windows UWP Launcher.LaunchUriAsync 메서드를 사용하여 브라우저 팝업 대화 상자를 엽니 다.

아래와 같이 Launcher.LaunchUriAsync를 사용하여 페이지를 열려고하는데,

Uri uri = new Uri(args.Uri.AbsoluteUri); 
LauncherOptions options = new LauncherOptions(); 
options.TargetApplicationPackageFamilyName = "Microsoft.MicrosoftEdge_8wekyb3d8bbwe"; 

LaunchUriResult result = await Launcher.LaunchUriForResultsAsync(uri, options); 

이 코드는 마이크로 소프트 에지 브라우저를 열고되지만 오히려 내가 사실로 IsSuccess와 NavigationCompleted 방법의 콜백을받을 팝업 메시지가 표시되지 않습니다. 또한 콜백 직후 브라우저가 사라져서 거래를 진행하기 위해 지불을 확인하지 못하게됩니다.

또한 계속 버튼이 표시되지만 UWP 응용 프로그램에서 계속 버튼이 응답하지 않으면 "안전한 페이팔 브라우저가 보이지 않습니다? 구매를 완료하기 위해 창을 다시 시작하는 데 도움을줍니다."라는 메시지가 나타납니다. 내 웹 사이트에서 동일한 메시지를 받으면 계속 버튼은 사용자가 응답 할 수 있도록 앞에있는 팝업 브라우저를 보여줍니다.

UWP 응용 프로그램에서 브라우저를 열고 브라우저 트랜잭션이 성공하면 확인하는 더 좋은 방법이 있는지 알고 싶습니다.

나는 당신이 당신의 UWP 응용 프로그램에 페이팔 지불 게이트웨이와 통합 잘못된 방향으로 갔다 생각 미리

+0

http://www.google.com으로 사용해도 브라우저를 여는 코드가 작동하지 않습니다. 'Uri uri = 새로운 Uri ("http://www.google.com"); LauncherOptions options = new LauncherOptions(); options.TargetApplicationPackageFamilyName = "Microsoft.MicrosoftEdge_8wekyb3d8bbwe"; LaunchUriResult result = Launcher.LaunchUriForResultsAsync (uri, options); ' –

답변

1

에 감사드립니다. 보안 문제가 있습니다. Paypal 통합 방법을 사용할 수 없으므로 여기를 참고하십시오. Why is PayPal not working inside a WinRT WebView control.

약간의 연구 끝에, 나는 UWP 앱에 페이팔을 통합하기위한 공식 SDK가 없다는 사실을 발견했으며, 심지어 하나는 신뢰할 수있는 클라이언트 (예 : 판매자가 관리하는 서버) 신뢰할 수없는 클라이언트 (예 : 판매자가 제어하지 않는 시스템에서 실행되는 모든 것)에 의한 사용을위한 것이 아닙니다.

Braintree v.zero을 통해 거래를 완료하려면 앱에서 웹 브라우저를 열고, Paypal Developer Experience 공식을 확인할 수도 있습니다.

+0

위에서 언급 한 코드를 사용하여 동일한 작업을 수행하려고합니다. 이제 WebView없이 코드를 실행하고 있습니다. 페이팔 체크 아웃 URL이있는 UWP 앱에서 직접 Edge 브라우저를 열려고합니다. 결과가 나옵니다. LaunchUriStatus로 상태. 성공하지만 결과가. 결과는 null입니다. 브라우저를 열려고하면 바로 사라집니다. –

+0

@NidheeshPuthalath,하지만 당신은'LaunchUriForResultsAsync'를 사용하고 있습니다.이 작업은 목표 앱이 퀘스트를 처리하도록 요청하고, 작업 완료시 정보를 소스 앱에 다시 보냅니다. 엣지가 너를 위해이 일을 할까 의심한다. –

+0

나는 그것을 깨닫고 Launcher.LaunchUriAsync (uri, options)를 기다렸다. 방법뿐만 아니라. 이 방법은 다른 방법과 동일한 방식으로 작동합니다 (즉, Edge 브라우저를 열고 즉시 닫음). 위의 설명에서 언급했듯이 http://www.google.com에서도이 작업을 시도했으며 그 결과도 동일합니다. 즉, URL이있는 브라우저를 여는 것은 UWP에서 다르게 처리해야합니다. –

관련 문제