1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/seasonstar-PayPal-Cordova-Plugin

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

PayPal SDK Cordova/Phonegap Plugin

Отказ от ответственности

Цель этого плагина — сделать его управляемым сообществом. Мы создали первоначальную версию плагина, чтобы показать, насколько просто использовать наши нативные SDK (iOS и Android) на платформах Cordova/PhoneGap.

По мере добавления функций в mSDK мы будем рады рассмотреть и объединить любые запросы на включение этих функций в плагин.

Обновление с более ранних версий < 3.0.0

Пожалуйста, удалите ваши локальные копии нативных SDK, теперь плагин включает дистрибутивы SDK как часть исходного кода, чтобы упростить интеграцию и поддержание паритета версий.

Установка

Плагин PayPal SDK для Cordova/Phonegap добавляет поддержку PayPal SDK на платформы iOS и Android. Он использует библиотеки нативного мобильного SDK PayPal, которые вы также должны загрузить. Менеджер плагинов Cordova настроит все необходимые возможности/фреймворки для проекта. Единственное, что вам нужно сделать, это добавить необходимые файлы, как описано ниже.

  1. Следуйте официальной документации Cordova, чтобы установить инструменты командной строки или Phonegap.
  2. Создайте проект, добавьте плагин и платформы:
   $ cordova create MyShop com.mycompany.myshop "MyShop"
   $ cd MyShop
   # используя репозиторий Cordova (большое спасибо @Ramneekhanda за помощь в этом)
   $ cordova plugin add com.paypal.cordova.mobilesdk
   # или вы также можете установить напрямую из github
   #$ cordova plugin add https://github.com/paypal/PayPal-Cordova-Plugin
   $ cordova platform add ios
   $ cordova platform add android
   # необязательно для console.log и т. д.
   $ cordova plugin add org.apache.cordova.console
  1. Следуйте разделу «Интеграция вашего приложения» ниже.
  2. Запустите cordova build, чтобы собрать проекты для всех платформ.

Phonegap Build

Если вы используете Phonegap Build, просто добавьте <gap:plugin name="com.paypal.cordova.mobilesdk" source="npm" /> в свой config.xml. Чтобы указать конкретную версию, используйте <gap:plugin name="com.paypal.cordova.mobilesdk" version="3.1.8" />. Для получения дополнительной информации проверьте http://docs.build.phonegap.com/en_US/configuring_plugins.md.html#Plugins.

Интеграция вашего приложения

Плагин PayPal SDK Cordova/Phonegap добавляет в ваш проект 2 файла JavaScript.

  • cdv-plugin-paypal-mobile-sdk.js: оболочка вокруг нативного SDK. Объект PayPalMobile сразу доступен для использования в ваших файлах .js. Вам НЕ нужно ссылаться на него в index.html.
  • paypal-mobile-js-helper.js: файл-помощник, который определяет классы PayPalPayment, PayPalPaymentDetails и PayPalConfiguration для использования с PayPalMobile.
  • Вы должны добавить
   <script type="text/javascript" src="js/paypal-mobile-js-helper.js"></script>

в файл MyShop/www/index.html, после импорта cordova.js.

Документация

  • Все вызовы в PayPalMobile являются асинхронными.
  • См. cdv-plugin-paypal-mobile-sdk.js и paypal-mobile-js-helper.js для получения подробной информации и доступных функций.
  • Для получения полной документации по плагину PayPal Cordova, пожалуйста, обратитесь к документации по основному PayPal Mobile SDK.
  • Не все функции, доступные в нативных SDK, были реализованы.

Базовый пример приложения

  1. Полный пример кода можно посмотреть здесь https://github.com/romk1n/MyCordovaShop.

  2. В MyShop/www/index.html добавьте следующее после <p class="event received">Device is Ready</p>:

       <button id="buyNowBtn"> Buy Now !</button>
       <button id="buyInFutureBtn"> Pay in Future !</button>
       <button id="profileSharingBtn"> Profile Sharing !</button>
  3. Замените MyShop/www/js/index.js следующим кодом:

/*

  • Licensed to the Apache Software Foundation (ASF) under one

  • or more contributor license agreements. See the NOTICE file

  • distributed with this work for */ Дополнительная информация

  • Относительно авторских прав. ASF лицензирует этот файл вам в соответствии с Apache License, Version 2.0 («Лицензия»); вы не можете использовать этот файл иначе, чем в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу:

http://www.apache.org/licenses/LICENSE-2.0

  • Если это не требуется применимым законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, распространяется на условиях «КАК ЕСТЬ», БЕЗ ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых. См. Лицензию для конкретного языка, регулирующего разрешения и ограничения по Лицензии.

var app = { // Application Constructor initialize: function() { this.bindEvents(); }, // Bind Event Listeners // // Bind any events that are required on startup. Common events are: // 'load', 'deviceready', 'offline', and 'online'. bindEvents: function() { document.addEventListener('deviceready', this.onDeviceReady, false); }, // deviceready Event Handler // // The scope of 'this' is the event. In order to call the 'receivedEvent' // function, we must explicity call 'app.receivedEvent(...);' onDeviceReady: function() { app.receivedEvent('deviceready'); }, // Update DOM on a Received Event receivedEvent: function(id) { var parentElement = document.getElementById(id); var listeningElement = parentElement.querySelector('.listening'); var receivedElement = parentElement.querySelector('.received');

    listeningElement.setAttribute('style', 'display:none;');
    receivedElement.setAttribute('style', 'display:block;');

    console.log('Received Event: ' + id);

    // start to initialize PayPalMobile library
    app.initPaymentUI();
},
initPaymentUI: function() {
    var clientIDs = {
        "PayPalEnvironmentProduction": "YOUR_PRODUCTION_CLIENT_ID",
        "PayPalEnvironmentSandbox": "YOUR_SANDBOX_CLIENT_ID"
    };
    PayPalMobile.init(clientIDs, app.onPayPalMobileInit);
},
onSuccesfulPayment: function(payment) {
    console.log("payment success: " + JSON.stringify(payment, null, 4));
},
onAuthorizationCallback: function(authorization) {
    console.log("authorization: " + JSON.stringify(authorization, null, 4));
},
createPayment: function() {
    // for simplicity use predefined amount
    // optional payment details for more information check [helper js file](https://github.com/paypal/PayPal-Cordova-Plugin/blob/master/www/paypal-mobile-js-helper.js)
    var paymentDetails = new PayPalPaymentDetails("50.00", "0.00", "0.00");
    var payment = new PayPalPayment("50.00", "USD", "Awesome Sauce", "Sale", paymentDetails);
    return payment;
},
configuration: function() {
    // for more options see `paypal-mobile-js-helper.js`
    var config = new PayPalConfiguration({merchantName: "My test shop", merchantPrivacyPolicyURL: "https://mytestshop.com/policy", merchantUserAgreementURL: "https://mytestshop.com/agreement"});
    return config;
},
onPrepareRender: function() {
    // buttons defined in index.html
    //  <button id="buyNowBtn"> Buy Now !</button>
    //  <button id="buyInFutureBtn"> Pay in Future !</button>
    //  <button id="profileSharingBtn"> ProfileSharing !</button>
    var buyNowBtn = document.getElementById("buyNowBtn");
    var buyInFutureBtn = document.getElementById("buyInFutureBtn");
    var profileSharingBtn = document.getElementById("profileSharingBtn");

    buyNowBtn.onclick = function(e) {
        // single payment
        PayPalMobile.renderSinglePaymentUI(app.createPayment(), app.onSuccesfulPayment, app.onUserCanceled);
    };

    buyInFutureBtn.onclick = function(e) {

... }

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

PayPal SDK Cordova/Phonegap Plugin Расширить Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/seasonstar-PayPal-Cordova-Plugin.git
git@gitlife.ru:oschina-mirror/seasonstar-PayPal-Cordova-Plugin.git
oschina-mirror
seasonstar-PayPal-Cordova-Plugin
seasonstar-PayPal-Cordova-Plugin
master