Paypal Cordova插件 - 无法登录并使用个人帐户付款

时间:2016-05-04 14:00:40

标签: javascript angularjs paypal

这是我的服务

angular.module('starter.services').factory('PaypalService', function ($q, $ionicPlatform, shopSettings, $filter, $timeout) {


var init_defer;

 var service = {
  initPaymentUI: initPaymentUI,
  createPayment: createPayment,
  configuration: configuration,
  onPayPalMobileInit: onPayPalMobileInit,
  makePayment: makePayment
};

return service;

function initPaymentUI() {

init_defer = $q.defer();
$ionicPlatform.ready().then(function () {

  var clientIDs = {
    "PayPalEnvironmentProduction": shopSettings.payPalProductionId,
    "PayPalEnvironmentSandbox": shopSettings.payPalSandboxId
  };
  PayPalMobile.init(clientIDs, onPayPalMobileInit);
});

return init_defer.promise;

} 



function createPayment(total, name) {

// "Sale  == >  immediate payment
// "Auth" for payment authorization only, to be captured separately at a later time.
// "Order" for taking an order, with authorization and capture to be done separately at a later time.
var payment = new PayPalPayment("" + total, "USD", "" + name, "Sale");
return payment;
}

function configuration() {
// for more options see `paypal-mobile-js-helper.js`
var config = new PayPalConfiguration({merchantName: shopSettings.payPalShopName});
return config;
}

 function onPayPalMobileInit() {
  $ionicPlatform.ready().then(function () {
  // must be called
  // use PayPalEnvironmentNoNetwork mode to get look and feel of the flow
  PayPalMobile.prepareToRender(shopSettings.payPalEnv, configuration(),   function () {

    $timeout(function () {
      init_defer.resolve();
    });

  });
  });
 }


function makePayment(total, name) {


var defer = $q.defer();
total = $filter('number')(total, 2);
$ionicPlatform.ready().then(function () {
  PayPalMobile.renderSinglePaymentUI(createPayment(total, name), function (result) {
    $timeout(function () {
      defer.resolve(result);
    });
  }, function (error) {
    $timeout(function () {
      defer.reject(error);
    });
  });
});

return defer.promise;
 }
})

和我的设置

.constant('shopSettings',{
  payPalSandboxId : 'id',
  payPalProductionId : 'id',
  payPalEnv: 'PayPalEnvironmentSandbox',
  payPalShopName : 'app_name'
});

我所需要的只是为用户进行标准支付,因此有些用户可以登录个人帐户,支付一些费用,资金将出现在我的帐户中。如果我使用沙盒测试帐户登录,一切正常,但不是真正的。

0 个答案:

没有答案