3

angualar プロジェクトに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="support@razorpay.com"
data-theme.color="#F37254"
></script>
<input type="hidden" value="Hidden Element" name="hidden">
</form>

しかし、Angular jsではこのコードを実行していません助けてください

4

2 に答える 2

13

既に angular を使用している場合は、代わりに手動チェックアウトを試すことをお勧めします。コードは次のようになります。

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 で働いています。

于 2016-03-04T05:46:46.883 に答える
3

.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();

          });


   };
于 2016-10-21T11:18:00.620 に答える