public static function parse($signature, $payload)
 {
     self::_validateSignature($signature, $payload);
     $xml = base64_decode($payload);
     $attributes = Braintree_Xml::buildArrayFromXml($xml);
     return self::factory($attributes['notification']);
 }
 public static function parse($signature, $payload)
 {
     if (preg_match("/[^A-Za-z0-9+=\\/\n]/", $payload) === 1) {
         throw new Braintree_Exception_InvalidSignature("payload contains illegal characters");
     }
     self::_validateSignature($signature, $payload);
     $xml = base64_decode($payload);
     $attributes = Braintree_Xml::buildArrayFromXml($xml);
     return self::factory($attributes['notification']);
 }
    function testEscapingSpecialChars()
    {
        $expected = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
 <stuff>&lt;&gt;&amp;'&quot;</stuff>
</root>

XML;
        $xml = Braintree_Xml::buildXmlFromArray(array('root' => array('stuff' => '<>&\'"')));
        $this->assertEquals($expected, $xml);
    }
Пример #4
0
 private static function _buildXml($params)
 {
     return empty($params) ? null : Braintree_Xml::buildXmlFromArray($params);
 }
 function testIncludesTheEncodingRoundtrip()
 {
     $array = array('root' => array('root' => 'bar'));
     $xml = Braintree_Xml::buildXmlFromArray($array);
     $this->assertRegExp('<\\?xml version=\\"1.0\\" encoding=\\"UTF-8\\"\\?>', $xml);
 }