Cloud Code
Listing of Cloud Code functions inside Symbyoz engine
Stripe
/**
* @param {boolean} liveMode
* @return Stripe
*/
function getStripe(liveMode)
{
if (liveMode == false && process.env.STRIPE_DEV_KEY !== null) {
console.log('import Stripe with key : '+process.env.STRIPE_DEV_KEY);
return require("cloud/node_modules/stripe/lib/stripe.js")(process.env.STRIPE_DEV_KEY);
} else {
console.log('import Stripe with key : '+process.env.STRIPE_KEY);
return require("cloud/node_modules/stripe/lib/stripe.js")(process.env.STRIPE_KEY);
}
}
/**
* Create Stripe Charge with customer
*/
Parse.Cloud.define("StripeChargeWithCustomer", function(rq, response){
var user = rq.user;
if (!user) {
return response.error('User must be logged');
}
var params = rq.params;
if (!params.amount || !params.currency || !params.customer || !params.description) {
return response.error("Missing parameters: need amount, currency, customer and description");
}
if (!params.livemode) {
var livemode = false;
} else {
var livemode = params.livemode;
}
getStripe(livemode).charges.create({
amount: params.amount,
currency: params.currency,
customer: params.customer,
description: params.description
}, function(err, charge) {
if(err) {
return response.error(err.statusCode, err.raw);
}
if (charge.status == 'failed') {
return response.error('KO');
} else {
return response.success('OK');
}
});
});
/**
* Create Stripe Charge with source
*/
Parse.Cloud.define("StripeChargeWithSource", function(rq, response){
var user = rq.user;
if (!user) {
return response.error('User must be logged');
}
var params = rq.params;
if (!params.amount || !params.currency || !params.source || !params.description) {
return response.error("Missing parameters: need amount, currency, source and description");
}
if (!params.livemode) {
var livemode = false;
} else {
var livemode = params.livemode;
}
getStripe(livemode).charges.create({
amount: params.amount,
currency: params.currency,
source: params.source,
description: params.description
}, function(err, charge) {
if(err) {
return response.error(err.statusCode, err.raw);
}
if (charge.status == 'failed') {
return response.error('KO');
} else {
return response.success('OK');
}
});
});
/**
* Create Stripe Customer
*/
Parse.Cloud.define("StripeCustomerCreate", function(rq, response){
var user = rq.user;
if (!user) {
return response.error('User must be logged');
}
var params = rq.params;
if (!params.email || !params.source) {
return response.error("Missing parameters: need email, source");
}
if (!params.livemode) {
var livemode = false;
} else {
var livemode = params.livemode;
}
getStripe(livemode).customers.create({
email: params.email,
source: params.source,
}, function(err, customer) {
if(err) {
return response.error(err.statusCode, err.raw);
}
return response.success(customer.id);
});
});
SMS by AWS SNS
SMS by SMSPartner
Push-Notification to Channel
Send Email with MailGun
Last updated
Was this helpful?