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."); } }); });
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() {
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); }); });
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); } }); } } });
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
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'); });
/* 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;
// 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);
// 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"); } }); });*/
/* 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); } ) });