Example #1
0
Parse.Cloud.define("createCustomer", function(request, response) { 
var Stripe = require('stripe');
Stripe.initialize('sk_test_4TzBP9ev2GGgKq2WMbijiHkG');

console.log(request.params) 
    Stripe.Customers.create({
        account_balance: 0,
        email: request.params.email,
        //card: request.params.token,
        description: "stripe customer",
        metadata: {
            name: request.params.name,
            userId: request.params.token, // e.g PFUser object ID
            createWithCard: true
        }

    }, {
        success: function(httpResponse) {
            response.success(name + userId + "good"); // return customerId

        },
        error: function(httpResponse) {
            console.log(httpResponse + "help!");
            response.error("Cannot create a new customer.");
        }
    });
});
Example #2
0
  Settings().then(function(settings) {
    Stripe.initialize(settings.get("stripeKey"))

    var queryOne = new Parse.Query(Parse.User)
    var queryTwo = new Parse.Query(Parse.User)
    var monthAgo = new Date()

    monthAgo.setMonth(monthAgo.getMonth() - 1)

    queryOne.greaterThanOrEqualTo("charges", settings.get("bulkCharging"))
    queryTwo.lessThanOrEqualTo("updatedAt", monthAgo)

    var query = Parse.Query.or(queryOne, queryTwo)

    query.exists("stripe")
    query.exists("card")
    query.greaterThan("charges", 0)

    return query.each(function(user) {
      return Stripe.Charges.create({
        amount: user.get("charges") * 100,
        currency: "usd",
        customer: user.get("stripe"),
        statement_descriptor: "Night Owl"
      }).then(function() {
        user.set("payed", user.get("charges"))
        user.set("charges", 0)
        return user.save()
      }, function(error) {
        user.unset("card")
        return user.save()
      }).then(function () {
        var pushQuery = new Parse.Query(Parse.Installation)
        pushQuery.equalTo("user", user)
        
        return Parse.Push.send({
    	    where: pushQuery,
    	    data: {
            "sound": "alert.caf",
            "alert": "Thank you for your purchase(s)!"
          }
  	    })
      })
    })
  }).then(function() {
Example #3
0
Parse.Cloud.define('chargeCard', function(req,res) {
    var Stripe = require('stripe');
    Stripe.initialize('sk_live_yrowO83jtcnUDCpjX1fLApuK');

    var token = req.params.token;

    var charge = Stripe.Charges.create({
        amount: 1000, // amount in cents, again
        currency: "aud",
        source: token,
        description: "Quizling access fee"
    }).then(function(data){
        res.success(data);
    }, function(data) {
        console.log(data);
        res.error(data);
    });
});
Example #4
0
Parse.Cloud.define("preOrder", function(request, response) {
var Stripe = require('stripe');
Stripe.initialize('sk_test_4TzBP9ev2GGgKq2WMbijiHkG');

  Stripe.Charges.create({
    amount: 100 * 35, // $35 expressed in cents
    currency: "usd",
    card: request.params.token, // the token id should be sent from the client
  },{
    success: function(httpResponse) {
      response.success("Purchase made!" + request.params.email);
      

    },
    error: function(httpResponse) {
      response.error("Uh oh, something went wrong");
    }
  })
});
Parse.Cloud.afterSave("Orders", function(request, response) {
	Parse.Cloud.useMasterKey();
	var orderObj=request.object;//Get Orders Object from request
	var OrderStatus = orderObj.get('OrderStatus');
 	if(OrderStatus===1)//fetch object exist in request
	{
		 
		 
		 var payMethod=orderObj.get("PaymentMethod");
		 if(payMethod==='Stripe')
		 {
			 var Stripe = require('stripe');
			 Stripe.initialize('sk_live_G66he8LxAt1U8VtwLjmJ1cVW');
			 //Stripe.initialize('sk_test_u73W3aHKcpurldoswHku9qBD');
			 //sk_live_NtAa5LQcjakmqalEovU6Mx6e
			 var paidAmount=parseFloat(orderObj.get('TotalAmount'));
			 // for(var i=0;i<OrderItems.length;i++)
			 // {
				//  var price = OrderItems[i].price;
				//  var qty = OrderItems[i].purchaseQuantity;
				//  paidAmount=paidAmount+parseFloat(price)*parseFloat(qty);//calculate total price
			 // }
			 var stripePayLoad={
				 amount: 100 * paidAmount, // $10 expressed in cents
				 currency: "usd",
				 card: orderObj.get("Token"),
				 metadata: {'order_id': orderObj.id}
				 };
			 Stripe.Charges.create(stripePayLoad,//made payment via Stripe
			 {
				 success: function(httpResponse) 
				 	{
						Proccess(orderObj,httpResponse,response);
				 	},
				 error: function(httpResponse) 
					 {
					 	 response.error(httpResponse);
						 console.log("Uh oh, something went wrong");
						 console.log(httpResponse);
					 }
			 });
		}
		else
		{
			Proccess(orderObj,orderObj.get('paymentHistory'),response);
		}
	}
	else
	{		
		Parse.Cloud.useMasterKey();
		var orderObj=request.object;//Get Orders Object from request
		var OrderStatus = orderObj.get('OrderStatus');
		var NotifyMsg='';
		if(OrderStatus===2)
			NotifyMsg='Thank you, your order is being processed';
		else if(OrderStatus===3)
			NotifyMsg='Your order is complete. Please come pick up.';
		else if(OrderStatus===4)
			NotifyMsg='Thank you for using POPii. Enjoy your food.';

		if(NotifyMsg!=='')
		{
			 var Mailgun = require('mailgun');
			 Mailgun.initialize('sandbox82443.mailgun.org', 'key-2-ekaeg6843ltjanh9tavhfilzha2rg1');//initialize mailgun
			 var Users = Parse.Object.extend("_User");
			 var AppUser = new Parse.Query(Users);
			 AppUser.get(orderObj.get("UserID"),//Getting App User
			 {
				 success:function (successAppUser)
				 {
					var msgApp={
						 to: successAppUser.get("email"), 
						 from: "*****@*****.**",
						 subject: NotifyMsg,
						 html: "Hi \n"+successAppUser.get("firstName")+" "+successAppUser.get("lastName")+"\n\n "+NotifyMsg+"\n\n Thanks for using POPii"
						};
					 Mailgun.sendEmail(msgApp, 
						{
							 success: function(httpResponse) //Mail to App User
								 {
									 
									 //response.success("Email sent!");
								 },
							 error: function(httpResponse) 
								 {
									 console.error(httpResponse);
									 //response.error("Uh oh, something went wrong");
								 }
						});
				 	var queryApp = new Parse.Query(Parse.Installation);
					 queryApp.equalTo('user_id', orderObj.get("UserID"));//Push to App User
					 Parse.Push.send(
						 {
							 where: queryApp,
							 data: {
									 alert: NotifyMsg
								 }
						 }, 
						 {
						 success: function() 
						 {
						 	console.log('Push was successful to App User'); // Push was successful	
						 },
						 error: function(error) 
						 {
						 	console.log('Push error for App User');// Handle error
						 }
						 });
					},
					 error:function(error)
					{
					 	console.log(error);
					}
		 	});
		}
		
 }
});
Example #6
0
      error: function(httpResponse)
      { response.error("Uh oh, something went wrong" + httpResponse); }
        });

    });





var Stripe = require('stripe');
/*
models = require('cloud/models'), 
config = require('cloud/config');
*/
Stripe.initialize('sk_live_4TzBCnlwOLefu0SPO0szHDIf');


Parse.Cloud.define("createCustomer", function(request, response) { 
var Stripe = require('stripe');
Stripe.initialize('sk_test_4TzBP9ev2GGgKq2WMbijiHkG');

console.log(request.params) 
    Stripe.Customers.create({
        account_balance: 0,
        email: request.params.email,
        //card: request.params.token,
        description: "stripe customer",
        metadata: {
            name: request.params.name,
            userId: request.params.token, // e.g PFUser object ID
Example #7
0
var _ = require('underscore');

/* Initialize the Stripe and Mailgun Cloud Modules */
var Stripe = require('stripe');
Stripe.initialize('sk_test_Ku1DLSgGYeMWuyJgAvSVBwnU');

var Mandrill = require('mandrill');
Mandrill.initialize('guoCnuyjhOsZTFFXXH0ydg');

// Include the Twilio Cloud Module and initialize it
var twilio = require("twilio");
twilio.initialize("AC083513ef2cdc26594bc082d9d8456060", "75ffe57fd4160c2a8f092cbeb2cd077d");

require('cloud/app.js');

Parse.Cloud.define("signUpEmailNotify", function(request, response) {
	// The Item and Order tables are completely locked down. We
	// ensure only Cloud Code can get access by using the master key.
	Parse.Cloud.useMasterKey();

	var emailDict = {
		templateName: 'sign_up',
		to: [{
			email: request.params.email_to,
			name: request.params.email_to_name || ''
		}]
	};

	Parse.Cloud.run('sendMail', emailDict);
	response.success('Success');
});
Example #8
0
/* Initialize the Stripe and Mailgun Cloud Modules */
var Stripe = require('stripe');
Stripe.initialize('');

var Mailgun = require('mailgun');
Mailgun.initialize("", "");

/*
 * Purchase an item from the Parse Store using the Stripe
 * Cloud Module.
 *
 * Expected input (in request.params):
 *   itemName       : String, can be "Mug, "Tshirt" or "Hoodie"
 *   size           : String, optional for items like the mug 
 *   cardToken      : String, the credit card token returned to the client from Stripe
 *   name           : String, the buyer's name
 *   email          : String, the buyer's email address
 *   address        : String, the buyer's street address
 *   city_state     : String, the buyer's city and state
 *   zip            : String, the buyer's zip code
 *
 * Also, please note that on success, "Success" will be returned. 
 */
Parse.Cloud.define("purchaseItem", function(request, response) {
  // The Item and Order tables are completely locked down. We 
  // ensure only Cloud Code can get access by using the master key.
  Parse.Cloud.useMasterKey();

  // Top level variables used in the promise chain. Unlike callbacks,
  // each link in the chain of promise has a separate context.
  var item, order;
Example #9
0
// Initialize modules
var Stripe = require('stripe');
Stripe.initialize('sk_test_Lf3CEX3liEWOr0v0LSO0nnOy');

var Mailgun = require('mailgun');
Mailgun.initialize('sandbox74731.mailgun.org', 'key-3ir7uu4-blgsx6b712ke5a4epgv5lfx0');

// Purchase endpoint for the photo album order
Parse.Cloud.define('purchaseItem', function(request, response) {
	// Get the order object
	var query = new Parse.Query('Order');
	query.equalTo('objectId', request.params.order);
    query.include('album');
	query.first({
		success: function(order) {
            console.log('Got order ' + JSON.stringify(order));
		    // Start charging the card
			order.save(null, {
				success: function(httpResponse) {
					// Create a Stripe charge with the card token
                    console.log('Charging order for ' + order.get('total'));
					Stripe.Charges.create({
						amount: order.get('total') * 100, // in cents
                        currency: 'USD',
				  		card: order.get('cardToken') // the token ID is sent from the client
					}, {
							success: function(httpResponse) {
                                console.log('Charged ' + httpResponse);
						    	// Credit card was charged. Save the payment token.
						    	order.set('paymentToken', httpResponse.id);
						    	order.set('charged', true);
Example #10
0
// Use Parse.Cloud.define to define as many cloud functions as you want.
// For example:
Parse.Cloud.define("hello", function(request, response) {
  response.success("Hello world!");
});


var Stripe = require('stripe');
Stripe.initialize('sk_test_gBZlDiTaH3bX2v8YRbjPgpFz');

/*Parse.Cloud.define("chargeToken", function(request,response)
{

	var stripeToken = request.params.token;

    Stripe.Charges.create({
    	amount: 20 * 10,
    	currency: "eur",
    	card: stripeToken
    },{
        success:function(httpResponse)
            {
                response.success("everything is OK");
            },
        error:function(httpResponse)
            {
                response.error("Error bitch better have my money"); 
            }
        });
});*/
Example #11
0
File: main.js Project: luizsr/fuber
/* Initialize the StripeCloud Module */
var Stripe = require('stripe');
Stripe.initialize('sk_test_3h9cLoZqiN5qEvcYNZcYmZtj'); // FIXME: Don't commit live secret key to repo

Parse.Cloud.define("stripePayment", function(request, response) {
  Stripe.Charges.create({
    amount: request.params.amount,
    currency: "EUR",
    card: request.params.token
  }).then(
    function(param) {
      console.log('Made successful card charge with Stripe!');
      response.success("Stripe charge succeeded.");
    },
    function(error) {
      console.log('Charging with stripe failed. Error: ' + error);
      response.error(error.message);
    }
  )
});