如何使用Angular-Payments处理formData

时间:2015-03-19 17:18:34

标签: javascript angularjs stripe-payments

我在AngularApp中使用Angular-Payments。在将所有数据传递给Stripe之后,我想将用户信用卡存储在我的服务器上的最后4位数。我无法访问表单数据,因此我可以从卡号中获取最后4位数字。

我的代码如下

HTML:

      <form stripe-form="handleStripe" role="form" ng-if="authenticated" name="takeMoneyForm" ng-submit="takeMoney(takeMoneyForm, model)">
            <label class='control-label'>Name on Card</label>
            <input type="text" class="form-control" name="card_name">

            <label class='control-label'>Card Number</label>
            <input type="text" class="form-control" name="card_number" ng-model="number" payments-validate="card" payments-format="card" payments-type-model="type" ng-class="takeMoneyForm.number.$card.type">
      </form>

要接受的控制器代码&amp;提交表格:

  $scope.takeMoney = function(formData, model){
    $scope.handleStripe = function(status, response){
      if(response.error) {
        alert("Error happened")
      } else {
        var dataModel = {
          email: model.email,
          profile: {
            stripe_token: response.id,
            last_4_digits: "how can I get the cards last 4 digits here??",
            stripe_id: 'df'
          }
        }
        djangoAuth.takeMoney(dataModel)
      }
    }
  }

2 个答案:

答案 0 :(得分:0)

  last_4_digits:  response.card.last4

https://stripe.com/docs/stripe.js

您还可以使用令牌在服务器上提取信息。

https://stripe.com/docs/api#tokens

答案 1 :(得分:0)

直接将令牌发送到Stripe并不会实际为卡充电。要为用户的卡充电,您必须将令牌发送到服务器上的脚本,Stripe为其提供了各种库。这一步允许您删除令牌中的任何数据,然后将详细信息保存到服务器,然后根据API将费用发送到Stripe。

以下是提供此步骤的服务器端脚本示例的页面:https://stripe.com/docs/tutorials/charges