diff --git a/index.js b/index.js index 2ecca53..1f8d4a9 100644 --- a/index.js +++ b/index.js @@ -1,22 +1,39 @@ require('dotenv').load(); +var qs = require('qs'); var stripe = require('stripe')(process.env.STRIPE_SECRET_KEY); -exports.handler = function(event, context) { +exports.handler = function(event, context, callback) { + console.log("event: \n" + JSON.stringify(event, null, 4)); + var data = qs.parse(event.body); + console.log("body: \n" + JSON.stringify(data, null, 4)); - stripe.charges.create({ - amount: event.amount, - source: event.source, - currency: event.currency || 'usd', - description: event.description || 'Stripe payment '+event.order_id, - receipt_email: event.receipt_email || null + var customer = stripe.customers.create({ + source: data.stripeToken, + email: data.stripeEmail, + description: "Customer for " + data.stripeEmail, + plan: 'littleFriendIG500' }, function(err, charge) { - if (err && err.type === 'card_error') { - context.fail(new Error(err.message)); - } else if(err){ - context.fail(err); + if (err) { + console.log(err.type + ": " + err.message + ". (code: " + err.code + ")"); + context.succeed({ + "statusCode": 302, + "headers": { "Location" : "http://littlefriend.co/error?type=" + err.type }, + "body": "" + }); } else { - context.succeed({ status: charge.status, success : true }); + context.succeed({ + "statusCode": 302, + "headers": { "Location" : "http://littlefriend.co/success" }, + "body": "" + }); } + //if (err && err.type === 'card_error') { + // context.fail(new Error(err.message)); + //} else if(err){ + // context.fail(err); + //} else { + // context.succeed({ status: charge.status, success : true }); + //} }); }; diff --git a/package.json b/package.json index 742590e..39b188a 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "dependencies": { "dotenv": "^1.2.0", "load-grunt-tasks": "^3.4.1", + "qs": "^6.5.1", "stripe": "^4.0.0" }, "scripts": { diff --git a/tasks/build_event.js b/tasks/build_event.js index cc8ca12..a0c44ef 100644 --- a/tasks/build_event.js +++ b/tasks/build_event.js @@ -14,6 +14,9 @@ module.exports = function(grunt) { "exp_year": 2017, "cvc": "123" },function(err, token){ + if (err) { + grunt.log.writeln(err); + } fs.writeFile("event.json", JSON.stringify({ "source" : token, "amount" : 2000,