Example #1
0
        public void Execute()
        {
            var VONAGE_API_KEY    = Environment.GetEnvironmentVariable("VONAGE_API_KEY") ?? "VONAGE_API_KEY";
            var VONAGE_API_SECRET = Environment.GetEnvironmentVariable("VONAGE_API_SECRET") ?? "VONAGE_API_SECRET";
            var RECIPIENT_NUMBER  = Environment.GetEnvironmentVariable("RECIPIENT_NUMBER") ?? "RECIPIENT_NUMBER";
            var PAYEE             = Environment.GetEnvironmentVariable("PAYEE") ?? "PAYEE";
            var AMOUNT            = Double.Parse(Environment.GetEnvironmentVariable("Amount") ?? "5.0");

            var creds  = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
            var client = new VonageClient(creds);

            var request = new Psd2Request {
                Amount = AMOUNT, Payee = PAYEE, Number = RECIPIENT_NUMBER, WorkflowId = Psd2Request.Workflow.TTS
            };
            var response = client.VerifyClient.VerifyRequestWithPSD2(request);
        }
        public void Psd2Verification(bool passCreds, bool kitchenSink)
        {
            var expectedResponse = @"{
              ""request_id"": ""abcdef0123456789abcdef0123456789"",
              ""status"": ""0""
            }";
            var expectedUri      = $"{ApiUrl}/verify/psd2/json";

            string      expectedRequestContent;
            Psd2Request request = new Psd2Request {
                Number = "447700900000", Payee = "Acme Inc", Amount = 4.8
            };

            if (kitchenSink)
            {
                expectedRequestContent = $"payee={HttpUtility.UrlEncode("Acme Inc")}&amount=4.8&workflow_id=1&number=447700900000&country=GB&code_length=4&lg=en-us&pin_expiry=240&next_event_wait=60&api_key={ApiKey}&api_secret={ApiSecret}&";
                request.Country        = "GB";
                request.CodeLength     = 4;
                request.Lg             = "en-us";
                request.PinExpiry      = 240;
                request.NextEventWait  = 60;
                request.WorkflowId     = Psd2Request.Workflow.SMS_TTS_TTS;
            }
            else
            {
                expectedRequestContent = $"payee={HttpUtility.UrlEncode("Acme Inc")}&amount=4.8&number=447700900000&api_key={ApiKey}&api_secret={ApiSecret}&";
            }

            Setup(expectedUri, expectedResponse, expectedRequestContent);
            var            creds  = Request.Credentials.FromApiKeyAndSecret(ApiKey, ApiSecret);
            var            client = new VonageClient(creds);
            VerifyResponse response;

            if (passCreds)
            {
                response = client.VerifyClient.VerifyRequestWithPSD2(request, creds);
            }
            else
            {
                response = client.VerifyClient.VerifyRequestWithPSD2(request);
            }

            Assert.Equal("abcdef0123456789abcdef0123456789", response.RequestId);
            Assert.Equal("0", response.Status);
        }