Im trying to do a simple Mercadopago pay button (basic checkout) with Nativescript. Due a that pay buttom is a html code I have decided put in a WebView to do a simple test. The problem start when I want to pay with mercadopago account because I cant do a login. I try the same process with a browser and I dont have problem.
How can solve this?
To be more precise I made this example.
WHOLE EXAMPLE IS FOR TEST USER. PLEASE NOT USE A STANDAR ACCOUNT
Here is a pay buttom https://ds4fcw2w0otda.cloudfront.net/index_mp.html.If you open with a Browser, you will dont have problem to make a sign in (Please use test user).
But if you do the same process with a webview Nativescript-Angular component you be not able to do a sign in.
@Component({
moduleId: module.id,
templateUrl: "./mercadopago.component.html",
styleUrls:["./mercadopago.component.css"]
})
export class MercadopagoComponent{
webview: WebView
public webViewSrc: string = "https://ds4fcw2w0otda.cloudfront.net/index_mp.html";
}
<ActionBar title="MERCADOPAGO" automationText="ActionBar">
<NavigationButton android.systemIcon="ic_menu_back" (tap)="home()" automationText="GoBack"></NavigationButton>
</ActionBar>
<GridLayout width="100%" rows="0,auto">
<WebView row="1" [src]="webViewSrc"></WebView>
</GridLayout>
NOTE: I suspect that the problem can be something like this but I dont know how solve my particular problem
The Log is
When I load a buttom with a web View
chromium: [INFO:library_loader_hooks.cc(36)] Chromium logging enabled: level = 0, default verbosity = 0 06-18 00:48:42.466 27226 27226 I cr_BrowserStartup: Initializing chromium process, singleProcess=false
06-18 00:48:42.673 27226 27226 I art : Rejecting re-init on previously-failed class java.lang.Class: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/RenderProcessGoneDetail;
06-18 00:48:42.673 27226 27226 I art : at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (WebViewChromium.java:48)
06-18 00:48:42.673 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethodNative(int, int, java.lang.String, int, boolean, java.lang.Object[]) (Runtime.java:-2)
06-18 00:48:42.673 27226 27226 I art : at java.lang.Object com.tns.Runtime.dispatchCallJSMethodNative(int, java.lang.String, boolean, long, java.lang.Class, java.lang.Object[]) (Runtime.java:1101)
06-18 00:48:42.673 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethodImpl(java.lang.Object, java.lang.String, java.lang.Class, boolean, long, java.lang.Object[]) (Runtime.java:983)
06-18 00:48:42.673 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethod(java.lang.Object, java.lang.String, java.lang.Class, boolean, long, java.lang.Object[]) (Runtime.java:970)
06-18 00:48:42.673 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethod(java.lang.Object, java.lang.String, java.lang.Class, boolean, java.lang.Object[]) (Runtime.java:954)
06-18 00:48:42.673 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethod(java.lang.Object, java.lang.String, java.lang.Class, java.lang.Object[]) (Runtime.java:946)
06-18 00:48:42.673 27226 27226 I art : at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (WebViewChromium.java:48)
06-18 00:48:42.673 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethodNative(int, int, java.lang.String, int, boolean, java.lang.Object[]) (Runtime.java:-2)
06-18 00:48:42.674 27226 27226 I art : at java.lang.Object com.tns.Runtime.dispatchCallJSMethodNative(int, java.lang.String, boolean, long, java.lang.Class, java.lang.Object[]) (Runtime.java:1101)
06-18 00:48:42.674 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethodImpl(java.lang.Object, java.lang.String, java.lang.Class, boolean, long, java.lang.Object[]) (Runtime.java:983)
06-18 00:48:42.674 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethod(java.lang.Object, java.lang.String, java.lang.Class, boolean, long, java.lang.Object[]) (Runtime.java:970)
06-18 00:48:42.674 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethod(java.lang.Object, java.lang.String, java.lang.Class, boolean, java.lang.Object[]) (Runtime.java:954)
06-18 00:48:42.674 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethod(java.lang.Object, java.lang.String, java.lang.Class, java.lang.Object[]) (Runtime.java:946)
06-18 00:48:42.677 27226 27226 I art : Rejecting re-init on previously-failed class java.lang.Class: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/SafeBrowsingResponse;
06-18 00:48:42.677 27226 27226 I art : at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (WebViewChromium.java:48)
06-18 00:48:42.677 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethodNative(int, int, java.lang.String, int, boolean, java.lang.Object[]) (Runtime.java:-2)
06-18 00:48:42.677 27226 27226 I art : at java.lang.Object com.tns.Runtime.dispatchCallJSMethodNative(int, java.lang.String, boolean, long, java.lang.Class, java.lang.Object[]) (Runtime.java:1101)
06-18 00:48:42.677 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethodImpl(java.lang.Object, java.lang.String, java.lang.Class, boolean, long, java.lang.Object[]) (Runtime.java:983)
06-18 00:48:42.677 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethod(java.lang.Object, java.lang.String, java.lang.Class, boolean, long, java.lang.Object[]) (Runtime.java:970)
06-18 00:48:42.677 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethod(java.lang.Object, java.lang.String, java.lang.Class, boolean, java.lang.Object[]) (Runtime.java:954)
06-18 00:48:42.677 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethod(java.lang.Object, java.lang.String, java.lang.Class, java.lang.Object[]) (Runtime.java:946)
06-18 00:48:42.677 27226 27226 I art : at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (WebViewChromium.java:48)
06-18 00:48:42.677 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethodNative(int, int, java.lang.String, int, boolean, java.lang.Object[]) (Runtime.java:-2)
06-18 00:48:42.677 27226 27226 I art : at java.lang.Object com.tns.Runtime.dispatchCallJSMethodNative(int, java.lang.String, boolean, long, java.lang.Class, java.lang.Object[]) (Runtime.java:1101)
06-18 00:48:42.677 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethodImpl(java.lang.Object, java.lang.String, java.lang.Class, boolean, long, java.lang.Object[]) (Runtime.java:983)
06-18 00:48:42.677 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethod(java.lang.Object, java.lang.String, java.lang.Class, boolean, long, java.lang.Object[]) (Runtime.java:970)
06-18 00:48:42.677 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethod(java.lang.Object, java.lang.String, java.lang.Class, boolean, java.lang.Object[]) (Runtime.java:954)
06-18 00:48:42.677 27226 27226 I art : at java.lang.Object com.tns.Runtime.callJSMethod(java.lang.Object, java.lang.String, java.lang.Class, java.lang.Object[]) (Runtime.java:946)
When I press "Pagar" buttom
chromium: [INFO:CONSOLE(0)] "The SSL certificate used to load resources from https://data.mercadolibre.com will be distrusted in the future. Once distrusted, users will be prevented from loading these resources. See https://g.co/chrome/symantecpkicerts for more information.", source: https://www.mercadopago.com.ar/cuotas?seller_id=269515452&marketplace=NONE&iframe=true (0)
When I fill an user name
chromium: [INFO:CONSOLE(6)] "Uncaught TypeError: Cannot read property 'toString' of undefined", source: https://www.mercadopago.com/mla/checkout/pay?pref_id=269515452-257c5142-68a0-4bb7-ac9f-d1eac5883ee3&flowId=472d573f-569e-4168-9947-f33642372dcd&logout=true (6)
But I cant catch nothing when I do a login. Only I catch some log with webview.on() method. If I submit to a Start Load Event and a Finish Load Event the log is
chromium: [INFO:CONSOLE(6)] "Uncaught TypeError: Cannot read property 'toString' of undefined", source: https://www.mercadopago.com/mla/checkout/pay?pref_id=269515452-257c5142-68a0-4bb7-ac9f-d1eac5883ee3&flowId=472d573f-569e-4168-9947-f33642372dcd&logout=true (6)
JS: WebView loadStartedEvent- WebView started loading of https://www.mercadolibre.com/jms/mla/lgz/login/authenticate
JS: WebView loadStartedEvent- WebView started loading of https://www.mercadopago.com/mla/checkout/pay?execution=e7s1&_eventId=next&errors.invalid_attempts=6&errors.user=email_not_found&errors.user_id=not_found&platform_id=mp&site_id=mla&go=https%3A%2F%2Fwww.mercadopago.com%2Fmla%2Fcheckout%2Fpay%3Fexecution%3De7s1%26_eventId%3Dnext&user_id=test_user_1038255%40testuser.com&remember_me=true&loginType=DEFAULT®istered=true
JS: WebView loadFinishedEvent - WebView finish loading of https://www.mercadopago.com/mla/checkout/pay?execution=e7s1&_eventId=next&errors.invalid_attempts=6&errors.user=email_not_found&errors.user_id=not_found&platform_id=mp&site_id=mla&go=https%3A%2F%2Fwww.mercadopago.com%2Fmla%2Fcheckout%2Fpay%3Fexecution%3De7s1%26_eventId%3Dnext&user_id=test_user_1038255%40testuser.com&remember_me=true&loginType=DEFAULT®istered=true#login
JS: WebView loadFinishedEvent - WebView finish loading of https://www.mercadopago.com/mla/checkout/pay?execution=e7s1&_eventId=next&errors.invalid_attempts=6&errors.user=email_not_found&errors.user_id=not_found&platform_id=mp&site_id=mla&go=https%3A%2F%2Fwww.mercadopago.com%2Fmla%2Fcheckout%2Fpay%3Fexecution%3De7s1%26_eventId%3Dnext&user_id=test_user_1038255%40testuser.com&remember_me=true&loginType=DEFAULT®istered=true#login