Exemplo n.º 1
0
        /// <summary>
        /// Resource /{merchantId}/tokens/{tokenId}
        /// <a href="https://developer.globalcollect.com/documentation/api/server/#__merchantId__tokens__tokenId__delete">Delete token</a>
        /// </summary>
        /// <param name="tokenId">string</param>
        /// <param name="query">DeleteTokenParams</param>
        /// <param name="context">CallContext</param>
        /// <returns>void</returns>
        /// <exception cref="ValidationException">if the request was not correct and couldn't be processed (HTTP status code BadRequest)</exception>
        /// <exception cref="AuthorizationException">if the request was not allowed (HTTP status code Forbidden)</exception>
        /// <exception cref="IdempotenceException">if an idempotent request caused a conflict (HTTP status code Conflict)</exception>
        /// <exception cref="ReferenceException">if an object was attempted to be referenced that doesn't exist or has been removed,
        ///            or there was a conflict (HTTP status code NotFound, Conflict or Gone)</exception>
        /// <exception cref="GlobalCollectException">if something went wrong at the GlobalCollect platform,
        ///            the GlobalCollect platform was unable to process a message from a downstream partner/acquirer,
        ///            or the service that you're trying to reach is temporary unavailable (HTTP status code InternalServerError, BadGateway or ServiceUnavailable)</exception>
        /// <exception cref="ApiException">if the GlobalCollect platform returned any other error</exception>
        public async Task Delete(string tokenId, DeleteTokenParams query, CallContext context = null)
        {
            IDictionary <string, string> pathContext = new Dictionary <string, string>();

            pathContext.Add("tokenId", tokenId);
            string uri = InstantiateUri("/{apiVersion}/{merchantId}/tokens/{tokenId}", pathContext);

            try
            {
                await _communicator.Delete <object>(
                    uri,
                    ClientHeaders,
                    query,
                    context);
            }
            catch (ResponseException e)
            {
                object errorObject;
                switch (e.StatusCode)
                {
                case HttpStatusCode.NotFound:
                    errorObject = _communicator.Marshaller.Unmarshal <ErrorResponse>(e.Body);
                    break;

                default:
                    errorObject = _communicator.Marshaller.Unmarshal <ErrorResponse>(e.Body);
                    break;
                }
                throw CreateException(e.StatusCode, e.Body, errorObject, context);
            }
        }
Exemplo n.º 2
0
        public async void Example()
        {
#pragma warning disable 0168
            using (Client client = GetClient())
            {
                DeleteTokenParams query = new DeleteTokenParams();
                query.MandateCancelDate = "20150102";

                await client.Merchant("merchantId").Tokens().Delete("tokenId", query);
            }
#pragma warning restore 0168
        }
Exemplo n.º 3
0
        public void TestToRequestParameters()
        {
            var lParams = new DeleteTokenParams();

            Assert.That(lParams.ToRequestParameters(), Is.EquivalentTo(Enumerable.Empty <RequestParam>()));

            lParams.MandateCancelDate = "20160610";
            Assert.That(lParams.ToRequestParameters(), Is.EquivalentTo(new List <RequestParam> {
                new RequestParam("mandateCancelDate", "20160610")
            }));

            lParams.MandateCancelDate = null;
            Assert.That(lParams.ToRequestParameters(), Is.EquivalentTo(Enumerable.Empty <RequestParam>()));
        }