A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
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 настроит все необходимые возможности/фреймворки для проекта. Единственное, что вам нужно сделать, это добавить необходимые файлы, как описано ниже.
$ 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
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
.
Документация
cdv-plugin-paypal-mobile-sdk.js
и paypal-mobile-js-helper.js
для получения подробной информации и доступных функций.Базовый пример приложения
Полный пример кода можно посмотреть здесь https://github.com/romk1n/MyCordovaShop.
В 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>
Замените 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 )