Интеграция плагина nativescript-paytm в приложение nativescript-vue - PullRequest
4 голосов
/ 26 апреля 2019

У меня есть приложение nativescript-vue, в которое я хочу интегрировать плагин nativescript-paytm . Я создал метод события 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: Избегайте использования ListView или ScrollView без явной высоты, установленной в StackLayout.Это может привести к снижению производительности пользовательского интерфейса и ухудшению взаимодействия с пользователем.chromium: [INFO: library_loader_hooks.cc (36)] Включено ведение журнала Chromium: уровень = 0, подробность по умолчанию = 0 chromium: [INFO: aw_field_trial_creator.cc (54)] First-WebView-Experiment not found JS: 'Пользователь отменил транзакциюнажатие кнопки возврата 'JS: избегайте использования ListView или ScrollView без явной высоты, установленной внутри StackLayout.Это может привести к снижению производительности пользовательского интерфейса и ухудшению взаимодействия с пользователем.chromium: [INFO: CONSOLE (0)] "Сертификат SSL, используемый для загрузки ресурсов из https://pguat.paytm.com, в будущем будет недоверенным. После того, как ему будут доверять, пользователям будет запрещено загружать эти ресурсы. См. https://g.co/chrome/symantecpkicerts для получения дополнительной информации. ", source: (0) chromium: [INFO: CONSOLE (0)]" Сертификат SSL, используемый для загрузки ресурсов из https://pguat.paytm.com, будет в будущем доверен. После того, как ему будут доверять, пользователи будутзагрузка этих ресурсов запрещена. См. https://g.co/chrome/symantecpkicerts для получения дополнительной информации. ", источник: https://pguat.paytm.com/oltp-web/processTransaction?ORDER_ID=NOETIC_ORDER_0001 (0) JS: 'Пользователь отменил транзакцию нажатием кнопки возврата' JS: Избегайте использования ListView или ScrollView безявная высота установлена ​​внутри StackLayout.Это может привести к снижению производительности пользовательского интерфейса и ухудшению взаимодействия с пользователем.chromium: [INFO: CONSOLE (0)] "Сертификат SSL, используемый для загрузки ресурсов из https://pguat.paytm.com, в будущем будет не доверять. После того, как ему будут доверять, пользователям будет запрещено загружать эти ресурсы. См. https://g.co/chrome/symantecpkicerts для получения дополнительной информации. ", source: (0) chromium: [INFO: CONSOLE (0)]" Сертификат SSL, используемый для загрузки ресурсов из https://pguat.paytm.com, будет в будущем доверен. После того, как ему будут доверять, пользователи будутзагрузка этих ресурсов запрещена. См. 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

Спасибо

...