Пример #1
0
        /// <summary>
        /// Parse the Set Transfer Destinations Url callback parameters to extract state,
        /// region and supported.Check the CSRF token against the initial request and verify
        /// the signature.
        /// </summary>
        /// <param name="urlParams"></param>
        /// <returns></returns>
        public TokenRequestTransferDestinationsCallbackParameters ParseSetTransferDestinationsUrlParams(
            NameValueCollection urlParams)
        {
            var parameters = urlParams.AllKeys.ToDictionary(param => param, param => urlParams[param]);

            return(TokenRequestTransferDestinationsCallbackParameters.Create(parameters));
        }
        /**
         * Sets transfer destinations for a given token request.
         *
         * @param payee Payee Token member (the member requesting the transfer token be created)
         * @param requestId token request id
         * @param tokenClient Token SDK client
         * @param setTransferDestinationsCallback callback url
         */

        /// <summary>
        /// Sets transfer destinations for a given token request.
        /// </summary>
        /// <param name="payee">Payee Token member (the member requesting the transfer token be created)</param>
        /// <param name="requestId">token request id</param>
        /// <param name="tokenClient">Token SDK client</param>
        /// <param name="setTransferDestinationsCallback">callback url</param>
        public static void SetTokenRequestTransferDestinations(
            TppMember payee,
            string requestId,
            Tokenio.Tpp.TokenClient tokenClient,
            string setTransferDestinationsCallback)
        {
            TokenRequestTransferDestinationsCallbackParameters parameters =
                tokenClient.ParseSetTransferDestinationsUrl(setTransferDestinationsCallback);

            IList <TransferDestination> transferDestinations = new List <TransferDestination>();

            if (parameters.SupportedTransferDestinationTypes
                .Contains(DestinationCase.FasterPayments))
            {
                TransferDestination destination = new TransferDestination
                {
                    FasterPayments = new TransferDestination.Types.FasterPayments
                    {
                        SortCode      = Util.Nonce(),
                        AccountNumber = Util.Nonce()
                    }
                };
                transferDestinations.Add(destination);
            }
            else
            {
                transferDestinations.Add(new TransferDestination
                {
                    Sepa = new TransferDestination.Types.Sepa
                    {
                        Bic  = Util.Nonce(),
                        Iban = Util.Nonce()
                    }
                });
            }

            payee.SetTokenRequestTransferDestinationsBlocking(requestId, transferDestinations);
        }