Пример #1
0
        public void SignatureTest()
        {
            /* from API docs: (https://gocardless.com/docs/signature_guide#constructing-the-parameter-array)
             * irb(main):002:0> to_query(data)
             *  => "example%5B%5D=1&example%5B%5D=a&foo=bar"
             * irb(main):003:0> secret = '5PUZmVMmukNwiHc7V/TJvFHRQZWZumIpCnfZKrVYGpuAdkCcEfv3LIDSrsJ+xOVH'
             *  => "5PUZmVMmukNwiHc7V/TJvFHRQZWZumIpCnfZKrVYGpuAdkCcEfv3LIDSrsJ+xOVH"
             * irb(main):004:0> signature(data, secret)
             *  => "5a9447aef2ebd0e12d80d80c836858c6f9c13219f615ef5d135da408bcad453d"
             */

            var model = new SignatureTestModel
            {
                Foo     = "bar",
                Example = new object[] { 1, 'a' }
            };
            var hash = model.ToHashParams();

            Assert.AreEqual("example%5B%5D=1&example%5B%5D=a&foo=bar", hash.ToQueryString());

            const string secret = "5PUZmVMmukNwiHc7V/TJvFHRQZWZumIpCnfZKrVYGpuAdkCcEfv3LIDSrsJ+xOVH";

            Assert.AreEqual("5a9447aef2ebd0e12d80d80c836858c6f9c13219f615ef5d135da408bcad453d",
                            Utils.GetSignatureForParams(hash, secret));
        }
Пример #2
0
        public void SignatureTest()
        {
            /* from API docs: (https://gocardless.com/docs/signature_guide#constructing-the-parameter-array)
             * irb(main):002:0> to_query(data)
             *  => "example%5B%5D=1&example%5B%5D=a&foo=bar"
             * irb(main):003:0> secret = '5PUZmVMmukNwiHc7V/TJvFHRQZWZumIpCnfZKrVYGpuAdkCcEfv3LIDSrsJ+xOVH'
             *  => "5PUZmVMmukNwiHc7V/TJvFHRQZWZumIpCnfZKrVYGpuAdkCcEfv3LIDSrsJ+xOVH"
             * irb(main):004:0> signature(data, secret)
             *  => "5a9447aef2ebd0e12d80d80c836858c6f9c13219f615ef5d135da408bcad453d"
             */

            var model = new SignatureTestModel
                            {
                                Foo = "bar",
                                Example = new object[] { 1, 'a' }
                            };
            var hash = model.ToHashParams();
            Assert.AreEqual("example%5B%5D=1&example%5B%5D=a&foo=bar", hash.ToQueryString());

            const string secret = "5PUZmVMmukNwiHc7V/TJvFHRQZWZumIpCnfZKrVYGpuAdkCcEfv3LIDSrsJ+xOVH";
            Assert.AreEqual("5a9447aef2ebd0e12d80d80c836858c6f9c13219f615ef5d135da408bcad453d",
                Utils.GetSignatureForParams(hash, secret));
        }