Skip to content

Instantly share code, notes, and snippets.

View michaltakac's full-sized avatar
👨‍🏫
https://keybase.io/michaltakac

Michal Takac michaltakac

👨‍🏫
https://keybase.io/michaltakac
View GitHub Profile
@michaltakac
michaltakac / settings.example.json
Last active October 13, 2015 10:13
Meteor + Braintree demo settings
{
"public" : {
"env": "Sandbox",
"BT_MERCHANT_ID": "xxxxxxxxxxxxxxxx",
"BT_PUBLIC_KEY": "xxxxxxxxxxxxxxxx"
},
"private": {
"BT_PRIVATE_KEY": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
@michaltakac
michaltakac / billing.js
Created October 16, 2015 18:42
Braintree demo - billing.js (v1)
// Define gateway variable
var gateway;
Meteor.startup(function () {
var env;
// Pick Braintree environment based on environment defined in Meteor settings.
if (Meteor.settings.public.env === 'Production') {
env = Braintree.Environment.Production;
} else {
env = Braintree.Environment.Sandbox;
@michaltakac
michaltakac / items.js
Last active October 16, 2015 22:10
Braintree demo - server/publish/items.js
Meteor.publish("items", function() {
if ( Roles.userIsInRole(this.userId, 'paid') ) {
return Items.find();
}
});
@michaltakac
michaltakac / dashboard.js
Last active October 16, 2015 22:12
Braintree demo - dashboard.js (v1)
Template.dashboard.onCreated(function() {
var instance = this;
instance.autorun(function() {
instance.subscribe('items');
});
});
Template.dashboard.helpers({
items: function(){
return Items.find();
@michaltakac
michaltakac / index.html
Created October 16, 2015 22:38
Braintree demo - index.html
<head>
<title>Braintree Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Braintree -->
<script src="https://js.braintreegateway.com/v2/braintree.js"></script>
</head>
@michaltakac
michaltakac / dashboard.html
Created October 16, 2015 23:28
Braintree demo - dashboard.html (v1)
<template name="dashboard">
<div class="template-dashboard">
<div class="page-header">
<h1>Dashboard</h1>
</div>
<ul class="list-group">
{{#each items}}
<li class="list-group-item">{{ name }} <span class="label label-default">{{ rating }}</span></li>
{{/each}}
@michaltakac
michaltakac / dashboard.js
Created October 16, 2015 23:34
Braintree demo - dashboard.js (v2)
Template.dashboard.onCreated(function() {
var instance = this;
instance.autorun(function() {
instance.subscribe('items');
});
});
Template.dashboard.helpers({
items: function(){
return Items.find();
@michaltakac
michaltakac / dashboard.html
Created October 16, 2015 23:36
Braintree demo - dashboard.html (v2)
<template name="dashboard">
<div class="template-dashboard">
<div class="page-header">
<h1>Dashboard</h1>
</div>
{{#if showForm}}
<h3>Buy access to our list of items!</h3>
<form role="form">
@michaltakac
michaltakac / dashboard.js
Created October 17, 2015 00:09
Braintree demo - dashboard.js (v3)
Template.dashboard.onCreated(function() {
var instance = this;
instance.autorun(function() {
instance.subscribe('items');
});
});
Template.dashboard.onRendered(function() {
Meteor.call('getClientToken', function(error, clientToken) {
if (error) {
@michaltakac
michaltakac / billing.js
Created October 17, 2015 00:21
Braintree demo - billing.js (v2)
// Define gateway variable
var gateway;
Meteor.startup(function () {
var env;
// Pick Braintree environment based on environment defined in Meteor settings.
if (Meteor.settings.public.env === 'Production') {
env = Braintree.Environment.Production;
} else {
env = Braintree.Environment.Sandbox;