2016-03-04 66 views
2

我想在我的angualar项目无法razorpay在角JS模板整合

这里razorpay整合是代码

<form action="/purchase" method="POST"> 
<!-- Note that the amount is in paise = 50 INR --> 
<script 
src="https://checkout.razorpay.com/v1/checkout.js" 
data-key="<YOUR_KEY_ID>" 
data-amount="5000" 
data-name="Merchant Name" 
data-description="Purchase Description" 
data-image="https://your-awesome-site.com/your_logo.jpg" 
data-prefill.name="Harshil Mathur" 
data-prefill.email="[email protected]" 
data-theme.color="#F37254" 
></script> 
<input type="hidden" value="Hidden Element" name="hidden"> 
</form> 

但在角的js不执行此代码 请帮我

回答

8

如果您已经在使用angular,我建议您尝试使用我们的manual checkout。该代码看起来是这样的:

app.controller('PaymentsCtrl', [ 
    '$scope', 
    function ($scope) { 
    $scope.options = { 
     'key': '<Your-Key-Here>', 
     // Insert the amount here, dynamically, even 
     'amount': '50000', 
     'name': '', 
     'description': 'Pay for Order #2323', 
     'image': '', 
     'handler': function (transaction) { 
     $scope.transactionHandler(transaction); 
     }, 
     'prefill': { 
     'name': '', 
     'email': '', 
     'contact': '' 
     } 
    }; 
    $scope.btnClick = function() { 
     var rzp1 = new Razorpay($scope.options); 
     rzp1.open(); 
    }; 
}]); 

而且在你的模板:

<button ng-click="btnClick">Click to Pay</button> 

声明:我在Razorpay工作。

+0

谢谢@Abhay .....我会尝试这个 –

+0

干草嗨,你如何包括checkout.js在你的角度应用程序文件?我无法创建Razorpay()对象,导致我输入错误。 – Gaurav

+2

在运行此代码之前,请确保包含checkout.js脚本。从'https:// checkout.razorpay.com/v1/checkout.js'加载它。 – Nemo

2

如果您在外部加载.js时遇到任何问题,可以使用$ .getScript();函数用于加载.js文件。

$scope.options = { 

      'key': 'rzp_test_1DP5mmOlF5G5ag', 
      'amount': 100, 
      'name': '', 
      'description': 'Pay for Order #2323', 
      'image': '', 
      'handler': function (transaction) { 
      $scope.transactionHandler(transaction); 
      }, 
      'prefill': { 
      'name': '', 
      'email': '', 
      'contact': '' 
      }, 
      theme:{ 
      color: '#3399FF' 
      } 
    }; 

    $scope.pay = function(){ 

      $.getScript('https://checkout.razorpay.com/v1/checkout.js', function() { 
      var rzp1 = new Razorpay($scope.options); 
      rzp1.open(); 

      }); 


    };