2017-02-10 31 views
0

我是Mean stack的新手,正在使用MeanJS(meanjs.org)的ver 0.4.2。我堅持將Stripe整合到平臺上。我正在使用Stripe Angular進行集成。將Stripe集成到MeanJs樣板

所以,我已經創建了一個新的控制器。我已經將所需的文件添加到標題了。控制器看起來像這樣:

(function() { 
'use strict'; 
angular 
.module('availabilities') 
.controller('StripepayController', StripepayController); 

StripepayController.$inject = ['$scope', '$http']; 

function StripepayController($scope, $http) { 
    $scope.saveCustomer = function(status, response) { 
     //console.log('striped'); 
     $http.post('/stripecharge', { token: response.id }); 
    }; 
} 
})(); 

我已經創建了一個視圖,如教程所述。增加了一個途徑,以我的模塊的服務器路線頁面:

// routes for stripe 
app.route('/stripecharge') 
.all(availabilities.stripePay); 

端控制器具有以下中間件:

exports.stripePay = function(req, res) { 
var stripe = require('stripe')('secret_key'); 
var token = req.body.stripeToken; 
var charge = stripe.charges.create({ 
    amount: 1000, 
    currency: 'usd', 
    description: 'Example charge', 
    source: token, 
}, function(err, charge) { 
    // asynchronously called 
}); 
}; 

是越來越創建的標記,但我不能從卡中扣款。任何關於我如何前進的幫助都會很棒。

此外,如果有人可以解釋如何提交的形式發生在MEANjs從視圖到服務器。我無法弄清楚。

在此先感謝。

回答

1

經過很多研究和回到課程後,我終於解決了這個問題。感謝@floatingLomas的幫助。

我實際上錯過了服務器控制器中條帶節點模塊的引用。這裏是我的服務器現在的樣子 -

exports.stripePay = function(req, res) { 
    var token = req.body.token; // Using Express 
    // Charge the user's card: 
    var charge = stripe.charges.create({ 
     amount: 1000, 
     currency: 'usd', 
     description: 'Example charge', 
     source: token, 
    }, function(err, charge) { 
     if (err) { 
      res.send(500, err); 
     } else { 
      res.send(204); 
     } 
    }); 
}; 

在快遞控制器我已經添加

var stripe = require('stripe')('My_Secret_key'); 

我漸漸在控制檯沒有定義「條紋」的錯誤的頂部爲節點模塊失蹤。增加了條紋節點模塊使用

npm install --save stripe 

一切似乎現在就像一陣微風。

0

您需要在您的Angular應用程序中使用Stripe.jsCheckout,然後將得到的令牌發佈到您的Node.js端點。

+0

正是這就是我無法理解的。 – Ajasra

+0

您的角碼如何與Stripe.js或Checkout一起使用?你的服務器日誌是否包含任何內容 – floatingLomas

+0

不,它不會被記錄,但令牌被創建。我在記錄時看到令牌,但沒有其他呼叫。我無法將通話傳遞給服務器。 – Ajasra