在nativescript-vue应用程序中集成nativescript-paytm插件

时间:2019-04-26 17:48:34

标签: vuejs2 nativescript angular2-nativescript nativescript-vue nativescript-plugin

我有一个要集成nativescript-paytm插件的nativescript-vue应用程序,我在click事件上创建了一个方法:payNow(),其中包含Paytm的所有必要详细信息,如下所示:在Readme.md/documentation/demo应用程序中进行了说明。

import {
    Paytm,
    Order,
    TransactionCallback,
    IOSCallback
} from "@nstudio/nativescript-paytm";

const paytm = new Paytm()
methods: {
    payNow() {
        paytm.setIOSCallbacks({
            didFinishedResponse: function(response) {
                console.log(response);
            },
            didCancelTransaction: function() {
                console.log("User cancelled transaction");
            },
            errorMissingParameterError: function(error) {
                console.log(error);
            }
        });
        // Sample order
        const order  = {
            // This will fail saying duplicate order id
            // generate your own order to test this.
            MID: "rzqfRq*******83",
            ORDER_ID: "NOETIC_ORDER_0001",
            CUST_ID: "CUST_6483",
            INDUSTRY_TYPE_ID: "Retail",
            CHANNEL_ID: "WAP",
            TXN_AMOUNT: "10.00",
            WEBSITE: "WEBSTAGING",
            CALLBACK_URL: "https://pguat.paytm.com/paytmchecksum/paytmCallback.jsp",
            EMAIL: "rubal@example.com",
            MOBILE_NO: "9876543210",
            CHECKSUMHASH: "NDspZhvSHbq44K3A9Y4daf9En3l2Ndu9fmOdLG+bIwugQ6682Q3JiNprqmhiWAgGUnNcxta3LT2Vtk3EPwDww8o87A8tyn7/jAS2UAS9m+c="
        };

        paytm.initialize("STAGING"); 

        paytm.createOrder(order);

        paytm.startPaymentTransaction({
            someUIErrorOccurred: function(inErrorMessage) {
                console.log(inErrorMessage);
            },
            onTransactionResponse: function(inResponse) {
                console.log(inResponse);
            },
            networkNotAvailable: function() {
                console.log("Network not available");
            },
            clientAuthenticationFailed: function(inErrorMessage) {
                console.log(inErrorMessage);
            },
            onErrorLoadingWebPage: function(
                iniErrorCode,
                inErrorMessage,
                inFailingUrl
            ) {
                console.log(iniErrorCode, inErrorMessage, inFailingUrl);
            },
           onBackPressedCancelTransaction: function() {
                console.log("User cancelled transaction by pressing back button");
           },
           onTransactionCancel: function(inErrorMessage, inResponse) {
               console.log(inErrorMessage, inResponse);
           }
      });
    }
}

在执行时,我只能看到这样的屏幕:

enter image description here

我可以看到,取消操作时,我在控制台User cancelled transaction by pressing back button中收到一条消息,这意味着这些事情也可以运行,但是我看不到任何屏幕,至少可以看到任何错误消息,我可以尝试调试。帮我解决这个问题。

这是我在命令提示符下看到的消息:

  

JS:避免在StackLayout内未设置显式高度的情况下使用ListView或ScrollView。这样做可能会导致不良的用户界面性能和不良的用户体验。   铬:[INFO:library_loader_hooks.cc(36)]已启用铬记录:级别= 0,默认详细程度= 0   铬:[INFO:aw_field_trial_creator.cc(54)]找不到首次WebView实验   JS:“用户通过按“后退”按钮取消了交易”   JS:避免使用在StackLayout内未设置显式高度的ListView或ScrollView。这样做可能会导致不良的用户界面性能和不良的用户体验。   铬:[INFO:CONSOLE(0)]“用于将来从https://pguat.paytm.com加载资源的SSL证书将在将来不可信。一旦不可信,将阻止用户加载这些资源。有关信息,请参见https://g.co/chrome/symantecpkicerts更多信息。”,资料来源:(0)   铬:[INFO:CONSOLE(0)]“用于将来从https://pguat.paytm.com加载资源的SSL证书将在将来不可信。一旦不可信,将阻止用户加载这些资源。有关信息,请参见https://g.co/chrome/symantecpkicerts更多信息。”,资料来源:https://pguat.paytm.com/oltp-web/processTransaction?ORDER_ID=NOETIC_ORDER_0001(0)   JS:“用户通过按“后退”按钮取消了交易”   JS:避免使用在StackLayout内未设置显式高度的ListView或ScrollView。这样做可能会导致不良的用户界面性能和不良的用户体验。   铬:[INFO:CONSOLE(0)]“用于将来从https://pguat.paytm.com加载资源的SSL证书将在将来不可信。一旦不可信,将阻止用户加载这些资源。有关信息,请参见https://g.co/chrome/symantecpkicerts更多信息。”,资料来源:(0)   铬:[INFO:CONSOLE(0)]“用于将来从https://pguat.paytm.com加载资源的SSL证书将在将来不可信。一旦不可信,将阻止用户加载这些资源。有关信息,请参见https://g.co/chrome/symantecpkicerts更多信息。”,资料来源:https://pguat.paytm.com/oltp-web/processTransaction?ORDER_ID=NOETIC_ORDER_0001(0)

有关更多信息,我在GitHub repo上提出了问题:https://github.com/nstudio/nativescript-paytm/issues/5

编辑:

我尝试通过游乐场添加它,但是由于它使用外部库集成是不可能的。但是我尝试在以下链接中使用

https://play.nativescript.org/?template=play-vue&id=CpqoNA&v=2

希望这可以提供更清晰的画面。

编辑:

我的整个payment.vue文件看起来像以下链接:https://gist.github.com/nitish1986/f23644514082efe757f132e943f2df51

谢谢

0 个答案:

没有答案