diff --git a/public/views/modals/amazon-card-details.html b/public/views/modals/amazon-card-details.html
index 46fad9cd4..497a9b1da 100644
--- a/public/views/modals/amazon-card-details.html
+++ b/public/views/modals/amazon-card-details.html
@@ -81,6 +81,9 @@
+ -
+ Cancel gift card
+
-
Remove gift card
diff --git a/src/js/controllers/modals/amazonCardDetails.js b/src/js/controllers/modals/amazonCardDetails.js
index 89cecc96e..e9e461569 100644
--- a/src/js/controllers/modals/amazonCardDetails.js
+++ b/src/js/controllers/modals/amazonCardDetails.js
@@ -2,6 +2,18 @@
angular.module('copayApp.controllers').controller('amazonCardDetailsController', function($scope, $log, $timeout, bwcError, amazonService, lodash, ongoingProcess) {
+ $scope.cancelGiftCard = function() {
+ ongoingProcess.set('Canceling gift card...', true);
+ amazonService.cancelGiftCard($scope.card, function(err, data) {
+ ongoingProcess.set('Canceling gift card...', false);
+ if (err) {
+ $scope.error = bwcError.msg(err);
+ return;
+ }
+ $scope.$emit('UpdateAmazonList');
+ });
+ };
+
$scope.remove = function() {
amazonService.savePendingGiftCard($scope.card, {
remove: true
diff --git a/src/js/services/amazonService.js b/src/js/services/amazonService.js
index 7621ea864..1ec71b47c 100644
--- a/src/js/services/amazonService.js
+++ b/src/js/services/amazonService.js
@@ -114,6 +114,23 @@ angular.module('copayApp.services').factory('amazonService', function($http, $lo
});
};
+ root.cancelGiftCard = function(data, cb) {
+
+ var dataSrc = {
+ "clientId": data.uuid,
+ "invoiceId": data.invoiceId,
+ "accessKey": data.accessKey
+ };
+
+ $http(_postBitPay('/amazon-gift/cancel', dataSrc)).then(function(data) {
+ $log.info('Amazon.com Gift Card Cancel: SUCCESS');
+ return cb(null, data.data);
+ }, function(data) {
+ $log.error('Amazon.com Gift Card Cancel: ' + data.data.message);
+ return cb(data.data);
+ });
+ };
+
return root;
});