无法在角度js模板中集成razorpay

时间:2016-03-04 05:32:21

标签: angularjs razorpay

我正在尝试将razorpay整合到我的angualar项目中

这是代码

<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="support@razorpay.com"
data-theme.color="#F37254"
></script>
<input type="hidden" value="Hidden Element" name="hidden">
</form>

但是在角度js中没有执行此代码 请帮帮我

2 个答案:

答案 0 :(得分:10)

如果您已经使用了角度,我建议您尝试我们的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工作。

答案 1 :(得分: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();

          });


   };