added stripe and balanced tests

This commit is contained in:
arzynik 2013-07-12 11:00:26 -07:00
parent 52e918de79
commit 360bcd81eb
6 changed files with 208 additions and 1 deletions

View File

@ -117,7 +117,8 @@
<secret>***REMOVED***</secret>
</live>
<dev>
<secret>9d5c3d58fc5e11e1aa05026ba7c1aba6</secret>
<secret>***REMOVED***</secret>
<uri>/v1/marketplaces/***REMOVED***</uri>
</dev>
<sharedMerchant>_KEY_</sharedMerchant>
</balanced>

View File

@ -0,0 +1,37 @@
<?php
class Controller_tests_svb_balanced extends Crunchbutton_Controller_Account {
public function init() {
switch (c::getPagePiece(3)) {
case 'charge':
$env = 'dev';
\Balanced\Settings::$api_key = c::config()->balanced->{$env}->secret;
$b = Balanced\Marketplace::mine();
$account = $b->createBuyer(
'session-'.rand(1000,100000000).'@_DOMAIN_',
$_REQUEST['card'],
[
'name' => 'UNIT TEST NAME',
'phone' => '4150000000',
'address' => ''
]
);
$account->addCard($_REQUEST['card']);
$charge = $account->debit(100, 'Crunchbutton', 'UNIT TEST');
if ($charge->status == 'succeeded') {
echo json_encode(['id' => $charge->id]);
}
break;
default:
c::view()->display('tests/svb/balanced', false);
break;
}
exit;
}
}

View File

@ -0,0 +1,9 @@
<?php
class Controller_tests_svb extends Crunchbutton_Controller_Account {
public function init() {
c::view()->useFilter(false);
c::view()->display('tests/svb', false);
exit;
}
}

View File

@ -0,0 +1,30 @@
<?php
class Controller_tests_svb_stripe extends Crunchbutton_Controller_Account {
public function init() {
switch (c::getPagePiece(3)) {
case 'charge':
$env = 'dev';
Stripe::setApiKey(c::config()->stripe->{$env}->secret);
$charge = Stripe_Charge::create([
'amount' => 100,
'currency' => 'usd',
'card' => $_REQUEST['card'],
'description' => 'Unit test charge'
]);
if ($charge->paid) {
echo json_encode(['id' => $charge->id]);
}
break;
default:
c::view()->display('tests/svb/stripe', false);
break;
}
exit;
}
}

View File

@ -0,0 +1,69 @@
<html>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="https://js.balancedpayments.com/v1/balanced.js"></script>
<body>
<button class="balanced-test-start">Start</button>
<div class="balanced-status"></div>
<script type="text/javascript">
balanced.init('<?=c::config()->balanced->{'dev'}->uri?>');
var start, end;
function responseCallbackHandler(response) {
switch (response.status) {
case 400:
console.log(response.error);
break;
case 404:
console.log(response.error);
break;
case 201:
console.log(response.data);
var cardTokenURI = response.data['uri'];
$.ajax({
type: 'GET',
url: '/tests/svb/balanced/charge',
data: { card: cardTokenURI },
success: function(res) {
var j;
try {
j = JSON.parse(res);
} catch (e) {
}
if (j && j.id) {
end = new Date;
console.log('success',j.id);
var seconds = (end.getTime() - start.getTime())/1000;
start = end = null;
console.log('Balanced took ' + seconds + ' seconds');
$('.balanced-status').html('completed in ' + seconds + ' seconds');
$('.balanced-test-start').removeAttr('disabled');
}
}
});
}
}
var tokenizeInstrument = function(e) {
$('.balanced-status').html('running...');
$('.balanced-test-start').attr('disabled','disabled');
start = new Date;
var creditCardData = {
card_number: '4242424242424242',
expiration_month: '12',
expiration_year: '2014'
};
balanced.card.create(creditCardData, responseCallbackHandler);
};
$('.balanced-test-start').click(tokenizeInstrument);
</script>
</html>

View File

@ -0,0 +1,61 @@
<html>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
<body>
<button class="stripe-test-start">Start</button>
<div class="stripe-status"></div>
<script type="text/javascript">
Stripe.setPublishableKey('<?=c::config()->stripe->{'dev'}->{'public'}?>');
var start, end;
function responseCallbackHandler(status, response) {
if (response.error) {
console.log(response.error);
} else {
var cardTokenURI = response.id;
$.ajax({
type: 'GET',
url: '/tests/svb/stripe/charge',
data: { card: cardTokenURI },
success: function(res) {
var j;
try {
j = JSON.parse(res);
} catch (e) {
}
if (j && j.id) {
end = new Date;
console.log('success',j.id);
var seconds = (end.getTime() - start.getTime())/1000;
start = end = null;
console.log('stripe took ' + seconds + ' seconds');
$('.stripe-status').html('completed in ' + seconds + ' seconds');
$('.stripe-test-start').removeAttr('disabled');
}
}
});
}
}
var tokenizeInstrument = function(e) {
$('.stripe-status').html('running...');
$('.stripe-test-start').attr('disabled','disabled');
start = new Date;
var creditCardData = {
number: '4242424242424242',
exp_month: '12',
exp_year: '2014'
};
Stripe.card.createToken(creditCardData, responseCallbackHandler);
};
$('.stripe-test-start').click(tokenizeInstrument);
</script>
</html>