2016-03-30 25 views
1

'da bir komut dosyasına dinamik olarak bir url ekleyerek angularjs ile oluşturulmuş SPA'mda bir ödeme ağ geçidi uyguluyorum.AngularJs

Sorun, bu ödeme ağ geçidinin ödeme kimliğine sahip bir komut dosyası eklemenizi gerektirmesidir.

bu benim şimdiki kurulum .... İşte

benim denetleyicisi olan (kontrolör sadece bazı sunucu tarafı komut dosyası çalıştırır dikkat, bu sadece id almak gerekir ödeme ile ilgili tüm bilgileri verir) 'dir:

(function(){ 

var PaymentGateController = function ($scope, $rootScope, $state, paymentFactory, $sce) { 

    $scope.ready = false; 

    paymentFactory.getResult() 
     .then(function (result) { 
      $scope.ready = true; 
      $scope.url = result.data.id; 
     }, function(error) { 
      console.log(error); 
     }); 
} 

PaymentGateController.$inject = ['$scope', '$rootScope','$state', 'paymentFactory', '$sce']; 

angular.module('hcbcApp.paymentGate', []).controller('PaymentGateController', PaymentGateController); 
}()); 

.. ve burada benim görünümdür:

<div ng-if="ready"> 
    <form action="https://peachpayments.docs.oppwa.com/tutorials/integration-guide#" class="paymentWidgets">VISA MASTER AMEX</form> 
    <script type="text/javascript" src="https://test.oppwa.com/v1/paymentWidgets.js?checkoutId={{url}}"></script> 
</div> 
+0

olsun VR Pay ile;) Bunu çözebilir misiniz? –

+0

Btw, sorunuzdaki komut dosyasının URL'sini temizlemelisiniz. –

cevap

0

Bu gerçekten kirli hissediyor ama o kadar onunla gidiyorum çalışır

Eklendi bu benim denetleyicisi:

$scope.makeScript = function (url) { 
     var script = document.createElement('script'); 
     script.setAttribute('src', url); 
     script.setAttribute('type', 'text/javascript'); 
     document.getElementById('paymentDiv').appendChild(script); 
    }; 

ve sonra buna ben aynı sorunu çözmek için çalışılıyor url

  $scope.url = "https://test.oppwa.com/v1/paymentWidgets.js?checkoutId=" + result.data.id; 

      $scope.makeScript($scope.url);