From 7334d06c8964b4de0d9a602a6e66400891df7fc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Baz=C3=A1n?= Date: Thu, 4 Aug 2016 13:21:14 -0300 Subject: [PATCH] save giftcards data when reedem failed --- public/views/modals/amazon-card-details.html | 7 +++++-- src/js/controllers/buyAmazon.js | 4 +++- src/js/services/amazonService.js | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/public/views/modals/amazon-card-details.html b/public/views/modals/amazon-card-details.html index 80320db02..377bfe3ff 100644 --- a/public/views/modals/amazon-card-details.html +++ b/public/views/modals/amazon-card-details.html @@ -45,9 +45,12 @@
Status: - + PENDING + + FAILURE +
@@ -71,7 +74,7 @@
- There was a failure to the create gift card that could not be recoverable. Please, contact BitPay to refund your bitcoin + There was a failure to the create gift card. Please, contact BitPay to refund your bitcoin
diff --git a/src/js/controllers/buyAmazon.js b/src/js/controllers/buyAmazon.js index 67bada577..d73cdb265 100644 --- a/src/js/controllers/buyAmazon.js +++ b/src/js/controllers/buyAmazon.js @@ -194,14 +194,16 @@ angular.module('copayApp.controllers').controller('buyAmazonController', amazonService.createGiftCard(dataSrc, function(err, giftCard) { $log.debug("creating gift card " + count); if (err) { + giftCard = {}; + giftCard.status = 'FAILURE'; ongoingProcess.set('Processing Transaction...', false); self.error = bwcError.msg(err); self.errorInfo = dataSrc; $timeout(function() { $scope.$digest(); }); - return; } + if (giftCard.status == 'PENDING' && count < 3) { $log.debug("pending gift card not available yet"); self.debounceCreate(count + 1, dataSrc, dataSrc); diff --git a/src/js/services/amazonService.js b/src/js/services/amazonService.js index e22947dba..c3fe61223 100644 --- a/src/js/services/amazonService.js +++ b/src/js/services/amazonService.js @@ -101,7 +101,7 @@ angular.module('copayApp.services').factory('amazonService', function($http, $lo }; $http(_postBitPay('/amazon-gift/redeem', dataSrc)).then(function(data) { - var status = data.data.status == ('new' || 'paid') ? 'PENDING' : data.data.status; + var status = data.data.status == 'new' ? 'PENDING' : (data.data.status == 'paid') ? 'PENDING' : data.data.status; data.data.status = status; $log.info('Amazon.com Gift Card Create/Update: ' + status); return cb(null, data.data);