Beispiel #1
0
        public async Task ExchangePublicTokenAsync_should_retrieve_a_response_from_the_api_server()
        {
            // Arrange
            using PlaidClient client = new PlaidClient { Environment = Environment.Sandbox };

            // Act
            ExchangeTokenRequest request = new ExchangeTokenRequest {
            };
            ExchangeTokenResponse result = await client.ExchangeTokenAsync(request);

            // Assert
            result.Exception.ShouldBeNull();
            result.SuccessfulOutcome.ShouldBeTrue();
            result.AccessToken.ShouldNotBeNull();
        }
Beispiel #2
0
        public static async Task InitializeAsync(TestContext context)
        {
            await Helper.InitializeAsync();

            if (PlaidClient.DefaultRequestFallbackData.AccessToken is null || PlaidClient.DefaultRequestFallbackData.PublicToken is null)
            {
                using PlaidClient client = new PlaidClient { Environment = Environment.Sandbox };
                CreateSandboxedPublicTokenResponse response = await client.CreateSandboxedPublicTokenAsync(new CreateSandboxedPublicTokenRequest { Institution = "ins_14", InitialProducts = new[] { "assets", "auth", /*"balance",*/ "transactions", "income", "identity" } });

                PlaidClient.DefaultRequestFallbackData.PublicToken = response.PublicToken;
                PlaidClient.DefaultRequestFallbackData.AccessToken = (await client.ExchangeTokenAsync(new ExchangeTokenRequest {
                })).AccessToken;
                await Helper.PersistCommonEndpointRequestDataAsync();
            }
        }
Beispiel #3
0
        public async System.Threading.Tasks.Task <IActionResult> GetAccessTokenAsync([FromBody] PlaidLinkResponse bank_info)
        {
            var client = new PlaidClient(_clientId, _secrets, null, Acklann.Plaid.Environment.Sandbox);

            ExchangeTokenResponse response = await client.ExchangeTokenAsync(new ExchangeTokenRequest
            {
                ClientId    = _clientId,
                Secret      = _secrets,
                PublicToken = bank_info.PublicToken
            });

            UpdateAccessToken(response.AccessToken);

            return(Json(response));
        }
        public IActionResult GetAccessToken(Environment environment, [FromBody] PlaidLinkResponse metadata)
        {
            var client = new PlaidClient(environment);
            ExchangeTokenResponse result = client.ExchangeTokenAsync(new ExchangeTokenRequest()
            {
                Secret      = _credentials.Secret,
                ClientId    = _credentials.ClientId,
                PublicToken = metadata.PublicToken
            }).Result;

            _credentials.AccessToken = result.AccessToken;
            System.Diagnostics.Debug.WriteLine($"access_token: '{result.AccessToken}'");

            return(Ok(result));
        }
Beispiel #5
0
        public void ExchangePublicTokenAsync_should_retrieve_a_response_from_the_api_server()
        {
            // Arrange
            var sut = new PlaidClient(Environment.Sandbox);

            // Act
            var request = new Management.ExchangeTokenRequest()
            {
                PublicToken = "public-sandbox-5c224a01-8314-4491-a06f-39e193d5cddc"
            }.UseDefaults();
            var result = sut.ExchangeTokenAsync(request).Result;

            // Assert
            result.Exception.ShouldNotBeNull();
            result.IsSuccessStatusCode.ShouldBeFalse();
        }
        public void Can_exchange_link_token_for_access_token()
        {
            // Arrange
            var sut = new PlaidClient(Environment.Sandbox);

            // Act
            var request = new Management.ExchangeTokenRequest()
            {
                PublicToken = "public-sandbox-5c224a01-8314-4491-a06f-39e193d5cddc"
            }.UseDefaults();
            var result = sut.ExchangeTokenAsync(request).Result;

            // Assert
            result.Exception.ShouldNotBeNull();
            result.IsSuccessStatusCode.ShouldBeFalse();
        }